Package: procserv / 2.8.0-2

Metadata

Package Version Patches format
procserv 2.8.0-2 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
0001 Use long int for coresize argument.patch | (download)

procServ.cc | 7 4 + 3 - 0 !
1 file changed, 4 insertions(+), 3 deletions(-)

 use long int for --coresize argument

Since the variable holding the core size is an `int`, users of
--coresize will have core dumps truncated and hence unusable if it is
greater than the size can hold (~2GB for most 64-bits platforms).

Use `long` to increase it to 64-bits on platforms that follow LP64 (most
Unix systems), providing enough room for any reasonable core size, while
keeping it limited to 2GB on LLP64 (such as MS Windows) [1].

[1] https://unix.org/whitepapers/64bit.html

0002 Report error if setsockopt fails.patch | (download)

acceptFactory.cc | 18 15 + 3 - 0 !
1 file changed, 15 insertions(+), 3 deletions(-)

 report error if setsockopt() fails

0003 Modify restartMode oneshot feature to run once AFTER.patch | (download)

clientFactory.cc | 5 4 + 1 - 0 !
procServ.cc | 2 1 + 1 - 0 !
procServ.h | 1 1 + 0 - 0 !
3 files changed, 6 insertions(+), 2 deletions(-)

 modify restartmode oneshot feature to run once after selecting
 oneshot restartMode.

If IOC process is not running and the developer tries to change
restartMode, it kills procServ when the developer toggles through
oneshot mode.

This commit sets firstRun true as restartMode is toggled. Thus,
developers can toggle through oneshot mode w/o killing procServ and the
IOC will run at least once before oneshot mode will kill procServ.

0004 Write pidfile of child in parent.patch | (download)

procServ.cc | 21 15 + 6 - 0 !
1 file changed, 15 insertions(+), 6 deletions(-)

 write pidfile of child in parent

Avoids race condition if using a Type=forking systemd service

0005 Close logfile FD for child processes.patch | (download)

procServ.cc | 3 3 + 0 - 0 !
1 file changed, 3 insertions(+)

 close logfile fd for child processes

When the child processes are spawned, they inherit the logfile file
descriptor. If the procserv logs are rotated using the logrotate
utility, then the child processes still have a open file handle on the
original logfile before it gets rotated. This prevents the kernel from
freeing up the space used even though the original logfile has been
deleted. Over time, or with large logfiles, this can result in a lot of
phantom space being used up in the log directory.

This PR closes the logfile file descriptor before exec()-ing the child
processes, allowing the logfile to be rotated and cleaned up by the
kernel.

0006 Clarify licensing terms in documentation and README.patch | (download)

README.md | 6 6 + 0 - 0 !
procServ.txt | 2 1 + 1 - 0 !
2 files changed, 7 insertions(+), 1 deletion(-)

 clarify licensing terms in documentation and readme

Triggered by a discussion on the Debian packaging, see
https://salsa.debian.org/debian/procserv/-/merge_requests/4

0007 Don t install manpage source with disabled docs.patch | (download)

Makefile.am | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 don't install manpage source with disabled docs

Users should be able to disable documentation installation with
`configure --enable-doc=no`. However, procServ.txt is still installed
when that flag is provided. Teach automake how to properly honor the
--enable-doc=no option by moving the manpage source file along with its
generated files, guarded by `if INSTALL_DOC`.

Fixes: bea57e9 (change doc generation configure option, 2009-11-08)
Co-authored-by: Carlos Henrique Lima Melara <charlesmelara@riseup.net>