Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 1 | clean_up() |
| 2 | ========== |
| 3 | |
| 4 | FUNKTION |
| 5 | -------- |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 6 | |
Zesstra | 0db67bd | 2019-02-18 21:19:46 +0100 | [diff] [blame^] | 7 | int clean_up(int ref); |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 8 | |
| 9 | DEFINIERT IN |
| 10 | ------------ |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 11 | |
Zesstra | 0db67bd | 2019-02-18 21:19:46 +0100 | [diff] [blame^] | 12 | * /std/room.c |
| 13 | * man kann die Funktion jedoch auch in beliebigen Objekten selbst |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 14 | definieren. |
| 15 | |
| 16 | ARGUMENTE |
| 17 | --------- |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 18 | |
Zesstra | 0db67bd | 2019-02-18 21:19:46 +0100 | [diff] [blame^] | 19 | ref |
| 20 | + 0 bei gecloneten Objekten |
| 21 | + 1 bei einfachen geladenen Objekten |
| 22 | + >1 bei Objekten, die geerbt wurden oder als Blueprint dienen |
| 23 | + <0, wenn clean_up() von aussen aufgerufen wurde (das muss man |
| 24 | selbst beachten!) |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 25 | |
| 26 | BESCHREIBUNG |
| 27 | ------------ |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 28 | |
Zesstra | 0db67bd | 2019-02-18 21:19:46 +0100 | [diff] [blame^] | 29 | Wenn ein Objekt seit langer Zeit nicht mehr benutzt wurde, kann es sich |
| 30 | hier selbst zerstoeren. Das sollte das Objekt allerdings nur tun, wenn |
| 31 | ref kleiner oder gleich 1 ist. |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 32 | |
| 33 | RUeCKGABEWERT |
| 34 | ------------- |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 35 | |
Zesstra | 0db67bd | 2019-02-18 21:19:46 +0100 | [diff] [blame^] | 36 | Der Rueckgabewert hat nur dann eine Bedeutung, wenn sich das Objekt |
| 37 | nicht selbst zerstoert hat. Wird 0 zurueckgegeben, so wird clean_up() |
| 38 | erst dann wieder aufgerufen, nachdem das Objekt aus- und wieder |
| 39 | eingeswappt wurde. |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 40 | |
Zesstra | 0db67bd | 2019-02-18 21:19:46 +0100 | [diff] [blame^] | 41 | Ein Rueckgabewert ungleich 0 zeigt an, dass das Objekt sich |
| 42 | wahrscheinlich in der naechsten clean_up()-Runde zerstoeren kann, wenn |
| 43 | in der Zwischenzeit zB. noch einmal reset() aufgerufen wurde. |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 44 | |
| 45 | BEMERKUNGEN |
| 46 | ----------- |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 47 | |
Zesstra | 0db67bd | 2019-02-18 21:19:46 +0100 | [diff] [blame^] | 48 | Standardmaessig definieren nur Raeume clean_up(). |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 49 | |
Zesstra | 0db67bd | 2019-02-18 21:19:46 +0100 | [diff] [blame^] | 50 | Die Zeiten zwischen zwei Aufrufen von clean_up() betragen momentan |
| 51 | einen Tag (86400 Sekunden). |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 52 | |
| 53 | SIEHE AUCH |
| 54 | ---------- |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 55 | |
Zesstra | 0db67bd | 2019-02-18 21:19:46 +0100 | [diff] [blame^] | 56 | lfuns: |
| 57 | :doc:`reset` |
| 58 | Properties: |
| 59 | :doc:`../props/P_NEVER_CLEAN` |
| 60 | Konzepte: |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 61 | memory |
| 62 | |
| 63 | 21. Maerz 2004 Gloinson |
| 64 | |