On Apr 17, 2014, at 11:00 AM, Guy Helmer <[email protected]> wrote:

> Author: ghelmer
> Date: Thu Apr 17 16:00:26 2014
> New Revision: 264617
> URL: http://svnweb.freebsd.org/changeset/base/264617
> 
> Log:
>  Fix releasing the lock in the parent atrun process after the queue
>  directory has been processed. Otherwise, a long-running child process
>  caused other atrun invocations to stall unnecessarily.
> 

I neglected to note that this was submitted by J.R. Oldroyd  jr at opal.com

> Modified:
>  head/libexec/atrun/atrun.c
> 
> Modified: head/libexec/atrun/atrun.c
> ==============================================================================
> --- head/libexec/atrun/atrun.c        Thu Apr 17 15:44:21 2014        
> (r264616)
> +++ head/libexec/atrun/atrun.c        Thu Apr 17 16:00:26 2014        
> (r264617)
> @@ -567,6 +567,12 @@ main(int argc, char *argv[])
>     if (run_batch && (gloadavg() < load_avg))
>       run_file(batch_name, batch_uid, batch_gid);
> 
> +    if (flock(dirfd(spool), LOCK_UN) == -1)
> +     perr("cannot unlock %s", ATJOB_DIR);
> +
> +    if (closedir(spool) == -1)
> +     perr("cannot closedir %s", ATJOB_DIR);
> +
>     closelog();
>     exit(EXIT_SUCCESS);
> }
> 

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to