freebsd-dev/lib/libutil
Guy Helmer 000d6ce285 Using the O_CLOEXEC flag on open(2) caused the pidfile lock to be lost
when the child process execs daemon's target program thanks to flock(2)
semantics. So, we apparently have to leak the open pidfile's file
descriptor to keep the lock for the pidfile(3) functions to work properly.

Test case demonstrated by trociny:

ref8-amd64:/home/trociny% uname -r
8.2-STABLE
ref8-amd64:/home/trociny% daemon -p /tmp/sleep.pid sleep 10
ref8-amd64:/home/trociny% daemon -p /tmp/sleep.pid sleep 10
daemon: process already running, pid: 19799

kopusha:~% uname -r
10.0-CURRENT
kopusha:~% daemon -p /tmp/sleep.pid sleep 10
kopusha:~% daemon -p /tmp/sleep.pid sleep 10
kopusha:~%
2012-02-06 14:11:24 +00:00
..
_secure_path.3 mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
_secure_path.c
auth.3 mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
auth.c
auth.conf.5
expand_number.3 Further simplify the code, and update the manpage. 2010-08-15 18:32:06 +00:00
expand_number.c Further simplify the code, and update the manpage. 2010-08-15 18:32:06 +00:00
flopen.3 Convert files to UTF-8 and add some copyright markers where missing. 2012-01-07 16:13:56 +00:00
flopen.c Revert (once again, and hopefully for the last time) to flock(2) locks. 2009-06-06 18:47:03 +00:00
fparseln.3
fparseln.c
gr_util.c Modify pw_copy: 2011-12-15 22:07:36 +00:00
hexdump.3 mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
hexdump.c Merge hexdump(9) to userland as hexdump(3) in libutil. I'm tired of doing 2008-07-01 22:30:57 +00:00
humanize_number.3 Add support for IEE/IEC (and now also SI) power of two notions of 2011-04-12 22:48:03 +00:00
humanize_number.c Add support for IEE/IEC (and now also SI) power of two notions of 2011-04-12 22:48:03 +00:00
kinfo_getallproc.3 - Commit work from libprocstat project. These patches add support for runtime 2011-05-12 10:11:39 +00:00
kinfo_getallproc.c - Commit work from libprocstat project. These patches add support for runtime 2011-05-12 10:11:39 +00:00
kinfo_getfile.3 Spelling fixes. 2010-08-03 17:40:09 +00:00
kinfo_getfile.c Include param.h instead of types.h when using user.h. Otherwise there is 2008-12-27 11:12:23 +00:00
kinfo_getproc.3 - Commit work from libprocstat project. These patches add support for runtime 2011-05-12 10:11:39 +00:00
kinfo_getproc.c - Commit work from libprocstat project. These patches add support for runtime 2011-05-12 10:11:39 +00:00
kinfo_getvmmap.3 Spelling fixes. 2010-08-03 17:40:09 +00:00
kinfo_getvmmap.c Include param.h instead of types.h when using user.h. Otherwise there is 2008-12-27 11:12:23 +00:00
kld.3 Convert files to UTF-8 and add some copyright markers where missing. 2012-01-07 16:13:56 +00:00
kld.c UTFize my name. 2010-08-22 11:48:32 +00:00
libutil.h Consensus between bde and pjd seemed to be that if the function names 2012-01-26 20:40:22 +00:00
login_auth.3 mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
login_auth.c
login_cap.3 mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
login_cap.c Avoid assigning a const char * to a char *. 2008-11-04 13:49:53 +00:00
login_cap.h Add two new system calls, setloginclass(2) and getloginclass(2). This makes 2011-03-05 12:40:35 +00:00
login_class.3 Add missing resource limits: 2011-03-24 16:06:57 +00:00
login_class.c Add two new system calls, setloginclass(2) and getloginclass(2). This makes 2011-03-05 12:40:35 +00:00
login_crypt.c
login_ok.3 mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
login_ok.c
login_times.3 mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
login_times.c Additional style and whitespace fixes. 2008-10-20 17:09:50 +00:00
login_tty.3 mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
login_tty.c Fix a regression that was introduced in r191882. 2010-01-17 17:52:35 +00:00
login.conf.5 Add missing "swapuse" resource limit. 2011-07-09 08:42:23 +00:00
Makefile Fix disorder in MAN and MLINKS lists. 2012-01-12 15:45:08 +00:00
pidfile.3 Remove unnecessary includes from these libutil man pages. 2012-01-16 21:25:41 +00:00
pidfile.c Using the O_CLOEXEC flag on open(2) caused the pidfile lock to be lost 2012-02-06 14:11:24 +00:00
property.3 Remove unnecessary includes from these libutil man pages. 2012-01-16 21:25:41 +00:00
property.c
pty.3 mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
pty.c Add missing header. 2008-11-04 13:50:50 +00:00
pw_util.c Add new pw_make_v7 to make a passwd line (in v7 format) out of a struct passwd 2012-01-05 10:40:24 +00:00
quotafile.3 Fix typos, spelling, formatting and mdoc mistakes found by Nobuyuki while 2010-08-16 15:18:30 +00:00
quotafile.c Replace index() and rindex() calls with strchr() and strrchr(). 2012-01-03 18:51:58 +00:00
realhostname_sa.3 mdoc: drop redundant .Pp and .LP calls 2010-10-08 12:40:16 +00:00
realhostname.3 Remove unnecessary includes from these libutil man pages. 2012-01-16 21:25:41 +00:00
realhostname.c Fixing !INET6 builds. 2008-11-25 02:15:09 +00:00
stub.c
trimdomain.3 mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
trimdomain.c
uucplock.3 mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
uucplock.c