chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix makefile to allow 'make release' to work with git
[elogind.git]
/
udevsend.c
diff --git
a/udevsend.c
b/udevsend.c
index 16174f5e466c5674079452e3dc72dddb50613550..8915edacc8cf2c27a4fdb72571fe2b42184e48ca 100644
(file)
--- a/
udevsend.c
+++ b/
udevsend.c
@@
-43,14
+43,16
@@
/* global variables */
static int sock = -1;
/* global variables */
static int sock = -1;
-#ifdef LOG
-unsigned char logname[LOGNAME_SIZE];
-void log_message (int level, const char *format, ...)
+#ifdef USE_LOG
+void log_message (int priority, const char *format, ...)
{
{
- va_list args;
+ va_list args;
+
+ if (priority > udev_log_priority)
+ return;
va_start(args, format);
va_start(args, format);
- vsyslog(
level
, format, args);
+ vsyslog(
priority
, format, args);
va_end(args);
}
#endif
va_end(args);
}
#endif
@@
-72,17
+74,17
@@
static int start_daemon(void)
/* daemon with empty environment */
close(sock);
execve(UDEVD_BIN, argv, envp);
/* daemon with empty environment */
close(sock);
execve(UDEVD_BIN, argv, envp);
-
dbg
("exec of daemon failed");
+
err
("exec of daemon failed");
_exit(1);
case -1:
_exit(1);
case -1:
-
dbg
("fork of daemon failed");
+
err
("fork of daemon failed");
return -1;
default:
exit(0);
}
break;
case -1:
return -1;
default:
exit(0);
}
break;
case -1:
-
dbg
("fork of helper failed");
+
err
("fork of helper failed");
return -1;
default:
waitpid(pid, NULL, 0);
return -1;
default:
waitpid(pid, NULL, 0);
@@
-100,11
+102,11
@@
static void run_udev(const char *subsystem)
case 0:
/* child */
execv(UDEV_BIN, argv);
case 0:
/* child */
execv(UDEV_BIN, argv);
-
dbg("exec of
child failed");
+
err("exec of udev
child failed");
_exit(1);
break;
case -1:
_exit(1);
break;
case -1:
-
dbg("fork of
child failed");
+
err("fork of udev
child failed");
break;
default:
waitpid(pid, NULL, 0);
break;
default:
waitpid(pid, NULL, 0);
@@
-125,11
+127,14
@@
int main(int argc, char *argv[], char *envp[])
const char *subsystem = NULL;
logging_init("udevsend");
const char *subsystem = NULL;
logging_init("udevsend");
+#ifdef USE_LOG
+ udev_init_config();
+#endif
dbg("version %s", UDEV_VERSION);
sock = socket(AF_LOCAL, SOCK_DGRAM, 0);
if (sock == -1) {
dbg("version %s", UDEV_VERSION);
sock = socket(AF_LOCAL, SOCK_DGRAM, 0);
if (sock == -1) {
-
dbg
("error getting socket");
+
err
("error getting socket");
goto fallback;
}
goto fallback;
}
@@
-149,17
+154,18
@@
int main(int argc, char *argv[], char *envp[])
key = envp[i];
keylen = strlen(key);
key = envp[i];
keylen = strlen(key);
- if (bufpos + keylen >= HOTPLUG_BUFFER_SIZE-1) {
- dbg("environment buffer too small, probably not called by the kernel");
- continue;
- }
/* prevent loops in the scripts we execute */
/* prevent loops in the scripts we execute */
- if (strncmp(key, "
MANAGED_EVENT=", 14
) == 0) {
+ if (strncmp(key, "
UDEVD_EVENT=", 12
) == 0) {
dbg("seems that the event source is not the kernel, just exit");
goto exit;
}
dbg("seems that the event source is not the kernel, just exit");
goto exit;
}
+ if (bufpos + keylen >= HOTPLUG_BUFFER_SIZE-1) {
+ err("environment buffer too small, probably not called by the kernel");
+ continue;
+ }
+
/* remember the SUBSYSTEM */
if (strncmp(key, "SUBSYSTEM=", 10) == 0)
subsystem = &key[10];
/* remember the SUBSYSTEM */
if (strncmp(key, "SUBSYSTEM=", 10) == 0)
subsystem = &key[10];
@@
-187,18
+193,18
@@
int main(int argc, char *argv[], char *envp[])
}
if (errno != ECONNREFUSED) {
}
if (errno != ECONNREFUSED) {
-
dbg
("error sending message (%s)", strerror(errno));
+
err
("error sending message (%s)", strerror(errno));
goto fallback;
}
if (!started_daemon) {
goto fallback;
}
if (!started_daemon) {
-
dbg
("try to start udevd daemon");
+
info
("try to start udevd daemon");
retval = start_daemon();
if (retval) {
retval = start_daemon();
if (retval) {
-
info
("error starting daemon");
+
dbg
("error starting daemon");
goto fallback;
}
goto fallback;
}
-
info
("udevd daemon started");
+
dbg
("udevd daemon started");
started_daemon = 1;
} else {
dbg("retry to connect %d", SEND_WAIT_MAX_SECONDS * SEND_WAIT_LOOP_PER_SECOND - loop);
started_daemon = 1;
} else {
dbg("retry to connect %d", SEND_WAIT_MAX_SECONDS * SEND_WAIT_LOOP_PER_SECOND - loop);
@@
-207,7
+213,7
@@
int main(int argc, char *argv[], char *envp[])
}
fallback:
}
fallback:
-
info
("unable to connect to event daemon, try to call udev directly");
+
err
("unable to connect to event daemon, try to call udev directly");
run_udev(subsystem);
exit:
run_udev(subsystem);
exit: