sd-event: don't invalidate source type on disconnect

This fixes fd closing if fd ownership is requested.
This commit is contained in:
Lennart Poettering 2019-10-30 16:37:42 +01:00
parent b7db8b7b13
commit f598255951

View file

@ -771,11 +771,13 @@ static void source_disconnect(sd_event_source *s) {
event = s->event;
s->type = _SOURCE_EVENT_SOURCE_TYPE_INVALID;
s->event = NULL;
LIST_REMOVE(sources, event->sources, s);
event->n_sources--;
/* Note that we don't invalidate the type here, since we still need it in order to close the fd or
* pidfd associated with this event source, which we'll do only on source_free(). */
if (!s->floating)
sd_event_unref(event);
}