From: Daan De Meyer Date: Fri, 14 Nov 2025 09:28:43 +0000 (+0100) Subject: sd-event: Only register memory presure if write buffer size is zero X-Git-Tag: v259-rc1~59^2~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d0ddb0aafb2c678382aad04ff6eafaac86749857;p=thirdparty%2Fsystemd.git 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. --- diff --git a/src/libsystemd/sd-event/sd-event.c b/src/libsystemd/sd-event/sd-event.c index 120e67cc318..7d8d779742f 100644 --- a/src/libsystemd/sd-event/sd-event.c +++ b/src/libsystemd/sd-event/sd-event.c @@ -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;