On Tuesday 04 November 2008 11:49, Vladimir Dronnikov wrote:
> Can you provide a brief comment on the rest of pending patches, Denys?

http://drvv.ru/busybox/runsvdir1.patch

Applied



http://drvv.ru/busybox/sv.patch

I don't like this, but ok. Applied.



http://drvv.ru/busybox/runsvdir.patch

Please try current svn, runsvdir -s SCRIPT method.
If you are ok with it, I'll update help text and make it "official".



http://drvv.ru/busybox/httpd.patch

Bug - cur->after_colon is leaked:
-               cur->after_colon = strchr(cur->before_colon, ':');
-               *cur->after_colon++ = '\0';
+               cur->after_colon = xstrdup(token[1]);



http://drvv.ru/busybox/rdev.patch

This would be an incompatible change to rdev applet.
I don't want to do this...



http://drvv.ru/busybox/acpid.patch

+       argv += optind;
+       // daemonize unless -d given
+       if (!(option_mask32 & 1)) { // ! -d
+               forkexit_or_rexec(argv);

(1) argv is wrong here, you did argv += optind too early.
(2) forkexit_or_rexec() in general is an internal function.
    Use bb_daemonize_or_rexec() instead, it does this and
    also all of the below...

+               setsid();
+               // close 0, 1?
+               // ?
+               // reopen stderr
+               freopen(opt_logfile, "w", stderr);
+       }

but more importantly, why daemonizing at all? This works:
setsid acpid ... </dev/null >/dev/null 2>somewhere &

We daemonize in inetd et.al. only because that is
their historical behavior... is daemonization something
you need for compat reasons?

On the same grounds -l LOGFILE is not needed, 2>LOGFILE
does the job.

+               for (i = 0; i < argc; i++) {
+                       pfd[nfd].fd = open_or_warn(argv[i], O_RDONLY);
+                       pfd[nfd].events = POLLIN;
+                       nfd++;
+               }

if open fails, you probably do not want to use fd == -1
in poll()?

+               while (!bb_got_signal && safe_poll(pfd, nfd, -1) > 0) {

safe_poll() will loop on EINTR. Thus SIGINT will not interrupt it,
it may sit like this forever. You need simple poll().

+config ACPID
+       bool "acpid"
+       default n
+       select RUN_PARTS  <=====

Using run-parts does not mean you must force user to have run-parts
applet *in the same binary*.



http://drvv.ru/busybox/mailutils.patch

Applied, since sendmail-related applets are "yours". :)

--
vda
_______________________________________________
busybox mailing list
[email protected]
http://busybox.net/cgi-bin/mailman/listinfo/busybox

Reply via email to