chiark / gitweb /
timedated: replace systemd-timedated-ntp.target logic with simpler scheme
[elogind.git] / src / libudev / libudev-monitor.c
index 96506fe580c73a8d74a2fafd844a9c2950456d1d..2ad9e1c3adbc1d134d36f31f8b557382dde49fab 100644 (file)
@@ -400,6 +400,7 @@ _public_ struct udev_monitor *udev_monitor_ref(struct udev_monitor *udev_monitor
  * the bound socket will be closed, and the resources of the monitor
  * will be released.
  *
+ * Returns: the passed udev monitor if it has still an active reference, or #NULL otherwise.
  **/
 _public_ struct udev_monitor *udev_monitor_unref(struct udev_monitor *udev_monitor)
 {
@@ -493,6 +494,11 @@ tag:
  *
  * Only socket connections with uid=0 are accepted.
  *
+ * The monitor socket is by default set to NONBLOCK. A variant of poll() on
+ * the file descriptor returned by udev_monitor_get_fd() should to be used to
+ * wake up when new devices arrive, or alternatively the file descriptor
+ * switched into blocking mode.
+ *
  * The initial refcount is 1, and needs to be decremented to
  * release the resources of the udev device.
  *
@@ -577,7 +583,7 @@ retry:
                             nlh->magic, htonl(UDEV_MONITOR_MAGIC));
                         return NULL;
                 }
-                if (nlh->properties_off+32 > buflen)
+                if (nlh->properties_off+32 > (size_t)buflen)
                         return NULL;
                 bufpos = nlh->properties_off;
         } else {