+/* decide if we should manage the whole hotplug event
+ * for now look if the kernel calls udevsend instead of /sbin/hotplug
+ */
+static int manage_hotplug_event(void) {
+ char helper[256];
+ int fd;
+ int len;
+
+ /* don't handle hotplug.d if we are called directly */
+ if (!getenv("UDEVD_EVENT"))
+ return 0;
+
+ fd = open("/proc/sys/kernel/hotplug", O_RDONLY);
+ if (fd < 0)
+ return 0;
+
+ len = read(fd, helper, 256);
+ close(fd);
+
+ if (len < 0)
+ return 0;
+ helper[len] = '\0';
+
+ if (strstr(helper, "udevsend"))
+ return 1;
+
+ return 0;
+}
+