----- Original Message ----- > > Does the deadlock go away if you just modify rsyslog.service so > > that > > instead of stopping systemd-kmsg-syslogd in ExecStartPre it would > > do it in ExecStartPost? > Yeah, it do the trick.
Great. People who are hitting this deadlock can use this as a temprorary workaround. > >> IMHO, We need to put functions that may block in separate threads, > >> for > >> example bus_init(), shutdown_connection(), log_meta(). > > > > Oh, I'm sure this works, but I'm scared of the additional > > complexity of threads. > Agree, but IMHO, from the architectural point of view, smooth running > of systemd should not depend on quick response of outside > processes(rsyslogd, dbus). Yes. systemd at least partially defends itself from a hanging syslog by setting SO_SNDTIMEO to 5 seconds. Maybe even that is too much and we could just make the socket completely non-blocking and just fallback to kmsg when we get EAGAIN. I believe there is a way to connect and register to DBus fully asynchronously too. I'm looking into this. Michal _______________________________________________ systemd-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/systemd-devel
