-
! Es kann passieren, dass Service A auf B wartet, der auf C wartet. Dann melden sich diese beide beim servmgr, der dann für B darauf warten soll, dass B gestartet ist, und für A, dass B fertig ist. Da týndur leider keine Popupthreads für IPC benutzt, existiert aber nur ein wartender Thread. Wenn A später als B angefragt hat, wird also A ewig auf B warten, da B nie weiterlaufen kann, auch wenn C fertig ist. Ein einfacher Workaround ist es, zu einem Zeitpunkt immer nur einem anfragenden Service/Prozess das Privileg zu gestatten, den servmgr selbst zu benutzen, um zu warten. Alle anderen bekommen ein EAGAIN, wenn der Zielservice noch nicht angemeldet ist, und müssen das Warten selber übernehmen (hier als wiederholte Anfragen bei servmgr implementiert). Signed-off-by: Max Reitz <max@tyndur.org>
c8a7bd7e