X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=devices%2Fudev-helper.c;h=4ec054b38411ad8e053a2f3171de89dc2e865e84;hp=f0b80b3a0c330a344ca8a21a215dc44326d812e4;hb=9abd11523d69b821f034bb0cb597880c2b61210e;hpb=678dbd282f917c68c4fd6badfc14fcf464796f5d diff --git a/devices/udev-helper.c b/devices/udev-helper.c index f0b80b3..4ec054b 100644 --- a/devices/udev-helper.c +++ b/devices/udev-helper.c @@ -33,7 +33,7 @@ void pb_log(const char *fmt, ...) va_list ap; va_start(ap, fmt); - fprintf(logf, fmt, ap); + vfprintf(logf, fmt, ap); va_end(ap); } @@ -323,7 +323,7 @@ static int is_removable_device(const char *sysfs_path) sprintf(full_path, "/sys/%s/removable", sysfs_path); fd = open(full_path, O_RDONLY); - printf(" -> removable check on %s, fd=%d\n", full_path, fd); + pb_log(" -> removable check on %s, fd=%d\n", full_path, fd); if (fd < 0) return 0; buf_len = read(fd, buf, 79); @@ -394,35 +394,35 @@ static int poll_device_plug(const char *dev_path, /* Polling loop for optical drive */ for (; (*optical) != 0; ) { - printf("poll for optical drive insertion ...\n"); + pb_log("poll for optical drive insertion ...\n"); fd = open(dev_path, O_RDONLY|O_NONBLOCK); if (fd < 0) return EXIT_FAILURE; rc = ioctl(fd, CDROM_DRIVE_STATUS, CDSL_CURRENT); close(fd); if (rc == -1) { - printf("not an optical drive, fallback...\n"); + pb_log("not an optical drive, fallback...\n"); break; } *optical = 1; if (rc == CDS_DISC_OK) return EXIT_SUCCESS; - printf("no... waiting\n"); + pb_log("no... waiting\n"); detach_and_sleep(REMOVABLE_SLEEP_DELAY); } /* Fall back to bare open() */ *optical = 0; for (;;) { - printf("poll for non-optical drive insertion ...\n"); + pb_log("poll for non-optical drive insertion ...\n"); fd = open(dev_path, O_RDONLY); if (fd < 0 && errno != ENOMEDIUM) return EXIT_FAILURE; close(fd); if (fd >= 0) return EXIT_SUCCESS; - printf("no... waiting\n"); + pb_log("no... waiting\n"); detach_and_sleep(REMOVABLE_SLEEP_DELAY); } } @@ -432,7 +432,7 @@ static int poll_device_unplug(const char *dev_path, int optical) int rc, fd; for (;optical;) { - printf("poll for optical drive removal ...\n"); + pb_log("poll for optical drive removal ...\n"); fd = open(dev_path, O_RDONLY|O_NONBLOCK); if (fd < 0) return EXIT_FAILURE; @@ -440,20 +440,20 @@ static int poll_device_unplug(const char *dev_path, int optical) close(fd); if (rc != CDS_DISC_OK) return EXIT_SUCCESS; - printf("no... waiting\n"); + pb_log("no... waiting\n"); detach_and_sleep(REMOVABLE_SLEEP_DELAY); } /* Fall back to bare open() */ for (;;) { - printf("poll for non-optical drive removal ...\n"); + pb_log("poll for non-optical drive removal ...\n"); fd = open(dev_path, O_RDONLY); if (fd < 0 && errno != ENOMEDIUM) return EXIT_FAILURE; close(fd); if (fd < 0) return EXIT_SUCCESS; - printf("no... waiting\n"); + pb_log("no... waiting\n"); detach_and_sleep(REMOVABLE_SLEEP_DELAY); } } @@ -489,6 +489,8 @@ int main(int argc, char **argv) action = getenv("ACTION"); logf = fopen("/var/tmp/petitboot-udev-helpers.log", "a"); + if (!logf) + logf = stdout; pb_log("%d started\n", getpid()); rc = EXIT_SUCCESS;