chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
1e03b75
)
udevd: close netlink socket in worker and set cloexec
author
Kay Sievers
<kay.sievers@vrfy.org>
Thu, 4 Jun 2009 00:49:42 +0000
(
02:49
+0200)
committer
Kay Sievers
<kay.sievers@vrfy.org>
Thu, 4 Jun 2009 00:49:42 +0000
(
02:49
+0200)
udev/udevd.c
patch
|
blob
|
history
diff --git
a/udev/udevd.c
b/udev/udevd.c
index c0852022e246dae89f7bcc21aa728ffd1f1cb543..2e7a179cbc083d6a7a3818114c9cf80688a106dd 100644
(file)
--- a/
udev/udevd.c
+++ b/
udev/udevd.c
@@
-195,6
+195,7
@@
static void worker_new(struct event *event)
/* allow the main daemon netlink address to send devices to the worker */
udev_monitor_allow_unicast_sender(worker_monitor, monitor);
udev_monitor_enable_receiving(worker_monitor);
/* allow the main daemon netlink address to send devices to the worker */
udev_monitor_allow_unicast_sender(worker_monitor, monitor);
udev_monitor_enable_receiving(worker_monitor);
+ util_set_fd_cloexec(udev_monitor_get_fd(worker_monitor));
worker = calloc(1, sizeof(struct worker));
if (worker == NULL)
worker = calloc(1, sizeof(struct worker));
if (worker == NULL)
@@
-207,6
+208,7
@@
static void worker_new(struct event *event)
struct udev_device *dev;
udev_queue_export_unref(udev_queue_export);
struct udev_device *dev;
udev_queue_export_unref(udev_queue_export);
+ udev_monitor_unref(monitor);
udev_ctrl_unref(udev_ctrl);
close(pfd[FD_SIGNAL].fd);
close(worker_watch[READ_END]);
udev_ctrl_unref(udev_ctrl);
close(pfd[FD_SIGNAL].fd);
close(worker_watch[READ_END]);
@@
-885,6
+887,7
@@
int main(int argc, char *argv[])
goto exit;
}
pfd[FD_WORKER].fd = worker_watch[READ_END];
goto exit;
}
pfd[FD_WORKER].fd = worker_watch[READ_END];
+ util_set_fd_cloexec(worker_watch[WRITE_END]);
rules = udev_rules_new(udev, resolve_names);
if (rules == NULL) {
rules = udev_rules_new(udev, resolve_names);
if (rules == NULL) {