On Sun, 05.10.14 20:42, Zbigniew Jędrzejewski-Szmek (zbys...@in.waw.pl) wrote:
> > @@ -626,11 +634,13 @@ static void source_disconnect(sd_event_source *s) { > > case SOURCE_SIGNAL: > if (s->signal.sig > 0) { > - if (s->signal.sig != SIGCHLD || > s->event->n_enabled_child_sources == 0) > - assert_se(sigdelset(&s->event->sigset, > s->signal.sig) == 0); > - > if (s->event->signal_sources) > s->event->signal_sources[s->signal.sig] = > NULL; > + > + /* If the signal was on and now it is off... */ > + if (s->enabled != SD_EVENT_OFF && > !need_signal(s->event, s->signal.sig)) { > + assert_se(sigdelset(&s->event->sigset, > s->signal.sig) == 0); > + } Coding style: the extra {} should go. > s->event->n_enabled_child_sources--; > - } > > - if (!s->event->signal_sources || > !s->event->signal_sources[SIGCHLD]) > - assert_se(sigdelset(&s->event->sigset, > SIGCHLD) == 0); > + /* We know the signal was on, if it is off > now... */ > + if (!need_signal(s->event, SIGCHLD)) { > + > assert_se(sigdelset(&s->event->sigset, SIGCHLD) == 0); > + } > + } Same here. Patch looks good to me. If all tests pass and the system still boots looks good to commit to me. Lennart -- Lennart Poettering, Red Hat _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel