chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
builtin: firmware - move 'firmware' tool to builtins
[elogind.git]
/
udev
/
udevd.c
diff --git
a/udev/udevd.c
b/udev/udevd.c
index a5ef24417d821957a919aad1505ce33e08e21a15..299f5d3f590224bbe7194f3f61c3a17963f878f1 100644
(file)
--- a/
udev/udevd.c
+++ b/
udev/udevd.c
@@
-76,7
+76,7
@@
static int fd_signal = -1;
static int fd_ep = -1;
static int fd_inotify = -1;
static bool stop_exec_queue;
static int fd_ep = -1;
static int fd_inotify = -1;
static bool stop_exec_queue;
-static bool reload
_config
;
+static bool reload;
static int children;
static int children_max;
static int exec_delay;
static int children;
static int children_max;
static int exec_delay;
@@
-662,9
+662,9
@@
static struct udev_ctrl_connection *handle_ctrl_msg(struct udev_ctrl *uctrl)
stop_exec_queue = false;
}
stop_exec_queue = false;
}
- if (udev_ctrl_get_reload
_rules
(ctrl_msg) > 0) {
- info(udev, "udevd message (RELOAD
_RULES
) received\n");
- reload
_config
= true;
+ if (udev_ctrl_get_reload(ctrl_msg) > 0) {
+ info(udev, "udevd message (RELOAD) received\n");
+ reload = true;
}
str = udev_ctrl_get_set_env(ctrl_msg);
}
str = udev_ctrl_get_set_env(ctrl_msg);
@@
-745,7
+745,7
@@
static int handle_inotify(struct udev *udev)
continue;
if (strlen(s) != strlen(".rules"))
continue;
continue;
if (strlen(s) != strlen(".rules"))
continue;
- reload
_config
= true;
+ reload = true;
continue;
}
continue;
}
@@
-831,7
+831,7
@@
static void handle_signal(struct udev *udev, int signo)
}
break;
case SIGHUP:
}
break;
case SIGHUP:
- reload
_config
= true;
+ reload = true;
break;
}
}
break;
}
}
@@
-1513,7
+1513,7
@@
int main(int argc, char *argv[])
}
fd_worker = worker_watch[READ_END];
}
fd_worker = worker_watch[READ_END];
- udev_builtin_
load
(udev);
+ udev_builtin_
init
(udev);
rules = udev_rules_new(udev, resolve_names);
if (rules == NULL) {
rules = udev_rules_new(udev, resolve_names);
if (rules == NULL) {
@@
-1658,8
+1658,12
@@
int main(int argc, char *argv[])
}
/* start new events */
}
/* start new events */
- if (!udev_list_node_is_empty(&event_list) && !udev_exit && !stop_exec_queue)
- event_queue_start(udev);
+ if (!udev_list_node_is_empty(&event_list) && !udev_exit && !stop_exec_queue) {
+ if (rules == NULL)
+ rules = udev_rules_new(udev, resolve_names);
+ if (rules != NULL)
+ event_queue_start(udev);
+ }
if (is_signal) {
struct signalfd_siginfo fdsi;
if (is_signal) {
struct signalfd_siginfo fdsi;
@@
-1691,19
+1695,11
@@
int main(int argc, char *argv[])
ctrl_conn = handle_ctrl_msg(udev_ctrl);
/* rules changed, set by inotify or a HUP signal */
ctrl_conn = handle_ctrl_msg(udev_ctrl);
/* rules changed, set by inotify or a HUP signal */
- if (reload_config) {
- struct udev_rules *rules_new;
-
+ if (reload) {
worker_kill(udev, 0);
worker_kill(udev, 0);
- rules_new = udev_rules_new(udev, resolve_names);
- if (rules_new != NULL) {
- udev_rules_unref(rules);
- rules = rules_new;
- }
- reload_config = 0;
-
- udev_builtin_unload(udev);
- udev_builtin_load(udev);
+ rules = udev_rules_unref(rules);
+ udev_builtin_exit(udev);
+ reload = 0;
}
}
}
}
@@
-1717,7
+1713,7
@@
exit_daemonize:
worker_list_cleanup(udev);
event_queue_cleanup(udev, EVENT_UNDEF);
udev_rules_unref(rules);
worker_list_cleanup(udev);
event_queue_cleanup(udev, EVENT_UNDEF);
udev_rules_unref(rules);
- udev_builtin_
unload
(udev);
+ udev_builtin_
exit
(udev);
if (fd_signal >= 0)
close(fd_signal);
if (worker_watch[READ_END] >= 0)
if (fd_signal >= 0)
close(fd_signal);
if (worker_watch[READ_END] >= 0)