hints.proc = callproc;
hints.hint = callarg;
next_incremental();
- return mr_process_query(&pseudo_client, name, argc, argv,
- callback, &hints);
+ return mr_process_query(&pseudo_client, name, argc,
+ mr_copy_args(argv, argc), callback, &hints);
}
char **argv; /* Args */
{
time(&now);
- return mr_check_access(&pseudo_client, name, argc, argv);
+ return mr_check_access(&pseudo_client, name, argc,
+ mr_copy_args(argv, argc));
}
int mr_query_internal(argc, argv, callproc, callarg)
hints.proc = callproc;
hints.hint = callarg;
next_incremental();
- return mr_process_query(&pseudo_client, argv[0], argc-1, argv+1,
- callback, &hints);
+ return mr_process_query(&pseudo_client, argv[0], argc-1,
+ mr_copy_args(argv+1, argc-1), callback, &hints);
}
int mr_access_internal(argc, argv)
char **argv;
{
time(&now);
- return mr_check_access(&pseudo_client, argv[0], argc-1, argv+1);
+ return mr_check_access(&pseudo_client, argv[0], argc-1,
+ mr_copy_args(argv+1, argc-1));
}
mr_shutdown(why)
int pid;
while ((pid = wait3(&status, WNOHANG, (struct rusage *)0)) > 0) {
- if (pid == inc_pid)
- next_incremental();
+ if (pid == inc_pid) {
+ inc_running = 0;
+ next_incremental();
+ }
if (status.w_termsig != 0 || status.w_retcode != 0)
com_err(whoami, 0, "%d: child exits with signal %d status %d",
pid, status.w_termsig, status.w_retcode);