sd-event: Only register memory presure if write buffer size is zero

As documented in sd_event_add_memory_pressure(), we can only add
the memory pressure fd to epoll once we've written the watch string,
so make sure we don't register the memory pressure in
event_source_online() until we've written the watch string.
This commit is contained in:
Daan De Meyer
2025-11-14 10:28:43 +01:00
parent 4c8b6d636c
commit d0ddb0aafb

View File

@@ -2987,9 +2987,11 @@ static int event_source_online(
break;
case SOURCE_MEMORY_PRESSURE:
r = source_memory_pressure_register(s, enabled);
if (r < 0)
return r;
if (s->memory_pressure.write_buffer_size == 0) {
r = source_memory_pressure_register(s, enabled);
if (r < 0)
return r;
}
break;