diff --git a/src/libsystemd/libsystemd.sym b/src/libsystemd/libsystemd.sym index 6a64b929dd..96e6347795 100644 --- a/src/libsystemd/libsystemd.sym +++ b/src/libsystemd/libsystemd.sym @@ -659,6 +659,7 @@ global: sd_device_monitor_attach_event; sd_device_monitor_detach_event; sd_device_monitor_get_event; + sd_device_monitor_get_event_source; sd_device_monitor_start; sd_device_monitor_stop; diff --git a/src/libsystemd/sd-device/device-monitor.c b/src/libsystemd/sd-device/device-monitor.c index ea8231aa63..1ef2974003 100644 --- a/src/libsystemd/sd-device/device-monitor.c +++ b/src/libsystemd/sd-device/device-monitor.c @@ -272,6 +272,12 @@ _public_ sd_event *sd_device_monitor_get_event(sd_device_monitor *m) { return m->event; } +_public_ sd_event_source *sd_device_monitor_get_event_source(sd_device_monitor *m) { + assert_return(m, NULL); + + return m->event_source; +} + int device_monitor_enable_receiving(sd_device_monitor *m) { int r; diff --git a/src/systemd/sd-device.h b/src/systemd/sd-device.h index 6453bd517f..4793e29237 100644 --- a/src/systemd/sd-device.h +++ b/src/systemd/sd-device.h @@ -106,6 +106,7 @@ int sd_device_monitor_set_receive_buffer_size(sd_device_monitor *m, size_t size) int sd_device_monitor_attach_event(sd_device_monitor *m, sd_event *event, int64_t priority); int sd_device_monitor_detach_event(sd_device_monitor *m); sd_event *sd_device_monitor_get_event(sd_device_monitor *m); +sd_event_source *sd_device_monitor_get_event_source(sd_device_monitor *m); int sd_device_monitor_start(sd_device_monitor *m, sd_device_monitor_handler_t callback, void *userdata, const char *description); int sd_device_monitor_stop(sd_device_monitor *m);