chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
rules: SUSE update
[elogind.git]
/
udevd.c
diff --git
a/udevd.c
b/udevd.c
index 645b068c0eea99daf58958b789ec0e96e26fabfc..0999b5fa756bfc7b553dd413fa9672ca388dc9be 100644
(file)
--- a/
udevd.c
+++ b/
udevd.c
@@
-76,15
+76,16
@@
void log_message(int priority, const char *format, ...)
if (priority > udev_log_priority)
return;
if (priority > udev_log_priority)
return;
- va_start(args, format);
- vsyslog(priority, format, args);
- va_end(args);
-
if (verbose) {
if (verbose) {
+ printf("[%d] ", (int) getpid());
va_start(args, format);
vprintf(format, args);
va_end(args);
printf("\n");
va_start(args, format);
vprintf(format, args);
va_end(args);
printf("\n");
+ } else {
+ va_start(args, format);
+ vsyslog(priority, format, args);
+ va_end(args);
}
}
}
}
@@
-318,61
+319,43
@@
static void msg_queue_insert(struct udevd_uevent_msg *msg)
static int mem_size_mb(void)
{
static int mem_size_mb(void)
{
- int f;
- char buf[8192];
- long int len;
- const char *pos;
- long int memsize;
-
- f = open("/proc/meminfo", O_RDONLY);
- if (f == -1)
- return -1;
-
- len = read(f, buf, sizeof(buf)-1);
- close(f);
+ FILE* f;
+ char buf[4096];
+ long int memsize = -1;
- if (len <= 0)
+ f = fopen("/proc/meminfo", "r");
+ if (f == NULL)
return -1;
return -1;
- buf[len] = '\0';
- pos = strstr(buf, "MemTotal: ");
- if (pos == NULL)
- return -1;
+ while (fgets(buf, sizeof(buf), f) != NULL) {
+ long int value;
- if (sscanf(pos, "MemTotal: %ld kB", &memsize) != 1)
- return -1;
+ if (sscanf(buf, "MemTotal: %ld kB", &value) == 1) {
+ memsize = value / 1024;
+ break;
+ }
+ }
- return memsize / 1024;
+ fclose(f);
+ return memsize;
}
static int cpu_count(void)
{
}
static int cpu_count(void)
{
- int f;
- char buf[65536];
- int len;
- const char *pos;
+ FILE* f;
+ char buf[4096];
int count = 0;
int count = 0;
- f = open("/proc/stat", O_RDONLY);
- if (f == -1)
- return -1;
-
- len = read(f, buf, sizeof(buf)-1);
- close(f);
- if (len <= 0)
- return -1;
- buf[len] = '\0';
-
- pos = strstr(buf, "cpu");
- if (pos == NULL)
+ f = fopen("/proc/stat", "r");
+ if (f == NULL)
return -1;
return -1;
- while (
pos
!= NULL) {
- if (strncmp(
pos, "cpu", 3) == 0 &&isdigit(pos
[3]))
+ while (
fgets(buf, sizeof(buf), f)
!= NULL) {
+ if (strncmp(
buf, "cpu", 3) == 0 && isdigit(buf
[3]))
count++;
count++;
- pos = strstr(&pos[3], "cpu");
}
}
+ fclose(f);
if (count == 0)
return -1;
return count;
if (count == 0)
return -1;
return count;
@@
-380,29
+363,24
@@
static int cpu_count(void)
static int running_processes(void)
{
static int running_processes(void)
{
- int f;
- char buf[32768];
- int len;
- int running;
- const char *pos;
+ FILE* f;
+ char buf[4096];
+ int running = -1;
- f =
open("/proc/stat", O_RDONLY
);
- if (f ==
-1
)
+ f =
fopen("/proc/stat", "r"
);
+ if (f ==
NULL
)
return -1;
return -1;
- len = read(f, buf, sizeof(buf)-1);
- close(f);
- if (len <= 0)
- return -1;
- buf[len] = '\0';
+ while (fgets(buf, sizeof(buf), f) != NULL) {
+ int value;
- pos = strstr(buf, "procs_running ");
- if (pos == NULL)
- return -1;
-
- if (sscanf(pos, "procs_running %u", &running) != 1)
- return -1;
+ if (sscanf(buf, "procs_running %u", &value) == 1) {
+ running = value;
+ break;
+ }
+ }
+ fclose(f);
return running;
}
return running;
}
@@
-980,7
+958,6
@@
int main(int argc, char *argv[], char *envp[])
selinux_init();
dbg("version %s", UDEV_VERSION);
selinux_init();
dbg("version %s", UDEV_VERSION);
- /* parse commandline options */
while (1) {
option = getopt_long(argc, argv, "dtvhV", options, NULL);
if (option == -1)
while (1) {
option = getopt_long(argc, argv, "dtvhV", options, NULL);
if (option == -1)