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.

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);
 }
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to