Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame^] | 1 | GESCHUETZT |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 2 | SYNOPSIS |
| 3 | int attach_erq_demon(object ob, int do_close) |
| 4 | int attach_erq_demon(string obname, int do_close) |
| 5 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame^] | 6 | BESCHREIBUNG |
| 7 | Diese geschuetzte Funktion setzt oder aendert die die Verbindung des |
| 8 | Treibers zum externen Erq-Demon, aendert also effektiv die Demons. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 9 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame^] | 10 | Die Verbindung wird dabei vom interaktiven Objekt <ob> entfernt (!) |
| 11 | und als Erq-Verbindung gespeichert. Das Objekt <ob> wird anschliessend |
| 12 | nicht mehr benoetigt, es kann aber als (nicht interaktives) Objekt |
| 13 | weiter existieren. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 14 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame^] | 15 | In der zweiten Form wird der String an den Dateinamen ERQFILE<obname> |
| 16 | angehaengt, das dann als Binary als neuer Erq-Demon aufgespalten wird. |
| 17 | Die Kommunikation mit diesem Erq verlaeuft ueber Unix Domainsockets. |
| 18 | ERQFILE greift standardmaessig auf BINDIR/erq zu, wobei BINDIR der |
| 19 | konfigurierte Wert fuer das ausfuehrbare Verzeichnis ist. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 20 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame^] | 21 | Besteht bereits eine Verbindung zu einem Erq-Demon, schlaegt die |
| 22 | Funktion fehl, wenn nicht do_close auf 1 gesetzt ist (Standard ist |
| 23 | do_close == 0). In diesem Fall wird die alte Verbindung geschlossen, |
| 24 | bevor zum neuen Demon verbunden wird. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 25 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame^] | 26 | Die Efun liefert 1 bei Erfolg, 0 sonst. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 27 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame^] | 28 | BEISPIELE |
| 29 | Um den (Standard-)Erq neu zu starten, muss in |
| 30 | master.c::stale_erq(closure c) geschrieben werden: |
| 31 | attach_erq_demon("", 0); |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 32 | |
Zesstra | d59c389 | 2019-11-28 20:53:39 +0100 | [diff] [blame^] | 33 | GESCHICHTE |
| 34 | Eingefuehrt in 3.2.1@61. |
| 35 | |
| 36 | SIEHE AUCH |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 37 | send_erq(E), erq(C) |