Lass Dich nicht vom Multithreading abschrecken, das taljeth in threadsicheren Programmen ein Problem sieht liegt wohl daran das tyndur und die zugehörige libc in der Vergangenheit nicht threadsicher war und das nun geändert werden muss, so das jetzt eben das Problem einer nachträglichen Konzeptänderung entsteht. Wäre tyndur von Anfang an threadsicher gebaut worden wäre der Gesamtaufwand sicher ein klein wenig geringer ausgefallen.
Davor schrecke ich im Moment zurück, da ich 1. bis jetzt nur Prozesse habe, keine Threads und 2. die Fehlersuche noch aufwändiger wird.
Mein erstes Ziel ist es immer es einfach zu implementieren. Mein zweites ist die Performance. Das beste Beispiel ist mein Task Scheduler, ich hab im Moment einen Round Robin (oder wie heißt der?) im System. Nur das der erste Task der ausgeführt wird derjenige ist, der als letztes in die Liste aufgenommen wurde. Das zweite ist die Speicherverwaltung. Es ist ziemlich "Ressourcenfressend", wenn er jedesmal 32768 * 32 Bits durchgeht um zu schauen, ob irgendwo freier Speicher gibt (okay, dass tut er nicht, weil meistens nach 1,2 MB oder so eine freie beschreibbare Speicherstelle ist), aber ihr wisst schon was ich meine.
Wenn ich ehrlich bin, habe ich mich noch nie mit IPC beschäftigt, was davon herrührt, das ich noch nie wirklich Programme die sowas nutzen geschrieben habe. Zu dem Konzept mit den SIGNALS...
Wenn ich das richtig verstanden habe ist es doch so, dass ein Programm diese Signals mit der Funktion signal() nutzt. Dabei wird doch das Signal festgelegt, an welches reagiert werden soll und eine callback Funktion, oder? Und mit raise() wird ein bestimmtes Signal für den Prozess ausgelöst. Stimmt das soweit?