
find_call_out
*************


BEISPIELE
=========

      // Findet sich kein call_out auf die Funktion 'func', so kann er
      // gestartet werden. (Wichtig falls der call_out nicht mehrfach
      // aufgerufen werden soll).

      if(find_call_out("func")==-1)
        call_out("func",5);


BEMERKUNGEN
===========

   Die Suche nach call_out()s auf Closures funktioniert nur, wenn der
   genaue Wert der Closure gesucht wird.

      // Das funktioniert:
          closure cl = symbol_function("main", obj);
          call_out(cl, 2);
          find_call_out(cl);

      // Das funktioniert nicht:
          call_out(symbol_function("main", obj), 2);
          find_call_out(symbol_function("main", obj));

   Ein Codebeispiel, um alle call_out()s auf eine Funktion zu
   entfernen, findet sich in der Manpage zu remove_call_out().
