X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Fqueue.c;h=e7ae019d2f1c0892d166ddab14d6297bfa946acf;hb=109ad60f4d0f4cf43d9dec72fc6eeb3c20d0f062;hp=eddb8d85c6a9bd667d89e2e271423a179d5dd331;hpb=3369a853fbc0fe454ac65fef7adf7e51845ff6a2;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/queue.c b/src/src/queue.c index eddb8d85c..e7ae019d2 100644 --- a/src/src/queue.c +++ b/src/src/queue.c @@ -39,7 +39,8 @@ return string_sprintf("%s%s%s%s%s", } uschar * -spool_fname(const uschar * purpose, uschar * subdir, uschar * fname, uschar * suffix) +spool_fname(const uschar * purpose, const uschar * subdir, const uschar * fname, + const uschar * suffix) { return string_sprintf("%s/%s/%s/%s/%s%s", spool_directory, queue_name, purpose, subdir, fname, suffix); @@ -684,8 +685,9 @@ for (i = (queue_run_in_order? -1 : 0); the mere fact that read() unblocks is enough. */ set_process_info("running queue: waiting for children of %d", pid); - if (read(pfd[pipe_read], buffer, sizeof(buffer)) > 0) - log_write(0, LOG_MAIN|LOG_PANIC, "queue run: unexpected data on pipe"); + if ((status = read(pfd[pipe_read], buffer, sizeof(buffer))) != 0) + log_write(0, LOG_MAIN|LOG_PANIC, "queue run: %s on pipe", + status > 0 ? "unexpected data" : "error"); (void)close(pfd[pipe_read]); set_process_info("running queue"); @@ -706,18 +708,15 @@ for (i = (queue_run_in_order? -1 : 0); if (i == 0 && subcount > 1 && !queue_run_in_order) { - int j; + int j, r; for (j = 1; j <= subcount; j++) - { - int r = random_number(100); - if (r >= 50) + if ((r = random_number(100)) >= 50) { int k = (r % subcount) + 1; int x = subdirs[j]; subdirs[j] = subdirs[k]; subdirs[k] = x; } - } } } /* End loop for multiple directories */