sd-event: don't touch fd's accross forks
authorTom Gundersen <teg@jklm.no>
Thu, 4 Jun 2015 14:54:45 +0000 (16:54 +0200)
committerTom Gundersen <teg@jklm.no>
Thu, 4 Jun 2015 17:04:26 +0000 (19:04 +0200)
commitf68067348f58cd08d8f4f5325ce22f9a9d2c2140
tree3a1191322841a74925837cb1e8aaea132cf9278b
parent1cf548925de9c6d12200f491963b977c9db538e3
sd-event: don't touch fd's accross forks

We protect most of the API from use accross forks, but we still allow both
sd_event and sd_event_source objects to be unref'ed. This would cause
problems as it would unregister sources from the underlying eventfd, hence
also affecting the original instance in the parent process.

This fixes the issue by not touching the fds on unref when done accross a fork,
but still free the memory.

This fixes a regression introduced by
        "udevd: move main-loop to sd-event": 693d371d30fee

where the worker processes were disabling the inotify event source in the
main daemon.
src/libsystemd/sd-event/sd-event.c