| Summary: |
net-proxy/nylon-1.21-r2: per-connection fork() removes pidfile |
| Product: |
Gentoo Linux
|
Reporter: |
Markus Osterhoff <bugzilla> |
| Component: |
Current packages | Assignee: |
No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it <maintainer-needed> |
| Status: |
RESOLVED
OBSOLETE
|
|
|
| Severity: |
normal
|
CC: |
bugzilla, jstein, mgorny, treecleaner
|
| Priority: |
Normal
|
Keywords: |
NeedPatch, PMASKED |
| Version: |
unspecified | |
|
| Hardware: |
All | |
|
| OS: |
Linux | |
|
| See Also: |
https://bugs.gentoo.org/show_bug.cgi?id=684094
|
| Whiteboard: |
|
|
Package list:
|
|
Runtime testing required:
|
---
|
| Deadline: |
2019-06-18 | |
|
Bug: after some while, /etc/init.d/nylond status reports "crashed", although daemon is still running Expected behaviour: report "running" Description: nylon-1.21-r2 creates a pidfile which start-stop-daemon puts into good use. This pidfile is removed on program exit; but also for every listener fork() inside net_accept(). Hence, after one proxy connection has been closed, the pidfile goes away, and /etc/init.d/nylond status reports the nylon as crashed. Although it hasn't. I will contact upstream; for the time being, the problem can be mitigated by removing line nylon.c:205 (add cleanup handler to remove pidfile): osti@e7240 /mnt/ram/nylon-1.21/src $ diff -Naur nylon.c.org nylon.c --- nylon.c.org 2017-07-30 08:39:21.029183552 +0200 +++ nylon.c 2017-07-30 08:39:23.560262365 +0200 @@ -202,7 +202,7 @@ if ((pidf = fopen(pidfilenam, "w")) != NULL) { fprintf(pidf, "%d\n", getpid()); fclose(pidf); - cleanup_add(cleanup, unlink_pidfile_cb, pidfilenam); + // cleanup_add(cleanup, unlink_pidfile_cb, pidfilenam); } else { warnv(1, "Failed creating PIDfile %s", pidfilenam); }