El mié, 3 abr 2024 a las 8:37, Laurent Bercot escribió: > > >2) The presence of a notification-fd file tells s6 that dbus-daemon > >can be somehow coerced into producing an s6-style readiness > >notification using file descriptor 3 without changing its code, are > >you sure that's the case with this script? My service definition for > >the system-wide message bus polls for readiness using s6-notifyoncheck > >and a dbus-send command... > > "dbus-daemon --print-address=3" should produce a suitable notification. > The address of the bus can only be printed once the bus exists. :)
But then, there is a problem if one actually wants the server address information that --print-address provides. Alexis' 'run' script for example wants to save that to a file (apparently in a directory suitable for s6-envdir). If the output is sent to the notification pipe instead, s6-supervise will 'eat' it while waiting for the final newline character, and then the information is lost. And more generally, there's also the question about how 'ready' dbus-daemon actually is when the point in its code that prints the server address is reached. I can't really say without looking at the code; dbus-daemon has many duties once its UNIX domain socket is bound. G.