blob: 38f07957845809e59f4943c21bd5a96afb02d658 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001SYNOPSIS
Zesstrad59c3892019-11-28 20:53:39 +01002 int remove_call_out(string fun)
3 int remove_call_out(closure fun)
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstrad59c3892019-11-28 20:53:39 +01005BESCHREIBUNG
6 Entfernt den naechsten anhaengigen call_out() auf die Funktion <fun>
7 im aktuellen Objekt bzw. den naechsten anhaengigen call_out() auf
8 die Closure <fun>. Die verbleibende Zeit wird zurueck geliefert.
MG Mud User88f12472016-06-24 23:31:02 +02009
Zesstrad59c3892019-11-28 20:53:39 +010010 Wenn es keine anhaengigen call_out()s auf <fun> gibt, wird -1
11 zurueckgeliefert.
MG Mud User88f12472016-06-24 23:31:02 +020012
Zesstrad59c3892019-11-28 20:53:39 +010013BEISPIELE
MG Mud User88f12472016-06-24 23:31:02 +020014 Um alle call_out()s auf MeineFunktion() zu entfernen:
15
Zesstrad59c3892019-11-28 20:53:39 +010016 while (remove_call_out("MeineFunktion") != -1); /* wiederhole */
MG Mud User88f12472016-06-24 23:31:02 +020017
Zesstrad59c3892019-11-28 20:53:39 +010018FEHLER
MG Mud User88f12472016-06-24 23:31:02 +020019 Das Entfernen von call_out()s auf Closures funktioniert nur, wenn der
20 exakt gleiche Wert fuer die Closure verwendet wird.
21
22 Das funktioniert:
23 closure cl = symbol_function("main", obj);
24 call_out(cl, 2);
25 remove_call_out(cl);
26
27 Das funktioniert nicht:
28 call_out(symbol_function("main", obj), 2);
29 remove_call_out(symbol_function("main", obj));
30
Zesstrad59c3892019-11-28 20:53:39 +010031GESCHICHTE
32 Das Entfernen eines call_out()s auf eine Closure wurde in 3.2.1@45
33 eingefuehrt.
34
MG Mud User88f12472016-06-24 23:31:02 +020035SIEHE AUCH
36 call_out(E), call_out_info(E), find_call_out(E)