diff options
author | Pav Lucistnik <pav@FreeBSD.org> | 2004-06-16 18:21:49 +0000 |
---|---|---|
committer | Pav Lucistnik <pav@FreeBSD.org> | 2004-06-16 18:21:49 +0000 |
commit | b1c26af872aef7bd5f1603377032452cd7be0423 (patch) | |
tree | 4d465bb40e6994dcae8f504e97e748e4cc8d3c9b /sysutils | |
parent | Be more informative and produce an error if binary doesn't (diff) |
- Add patch to fix zombie problem
- Raise portrevision
PR: ports/67927
Submitted by: Konstantin Reznichenko <kot@premierbank.dp.ua> (maintainer)
Notes
Notes:
svn path=/head/; revision=111616
Diffstat (limited to 'sysutils')
-rw-r--r-- | sysutils/fileschanged/Makefile | 1 | ||||
-rw-r--r-- | sysutils/fileschanged/files/patch-handlers.c | 13 |
2 files changed, 11 insertions, 3 deletions
diff --git a/sysutils/fileschanged/Makefile b/sysutils/fileschanged/Makefile index e52b91f07448..0221b937b8ed 100644 --- a/sysutils/fileschanged/Makefile +++ b/sysutils/fileschanged/Makefile @@ -7,6 +7,7 @@ PORTNAME= fileschanged PORTVERSION= 0.6.0 +PORTREVISION= 1 CATEGORIES= sysutils MASTER_SITES= ${MASTER_SITE_SOURCEFORGE} MASTER_SITE_SUBDIR= ${PORTNAME} diff --git a/sysutils/fileschanged/files/patch-handlers.c b/sysutils/fileschanged/files/patch-handlers.c index 6a85acfd3fca..2903833803b8 100644 --- a/sysutils/fileschanged/files/patch-handlers.c +++ b/sysutils/fileschanged/files/patch-handlers.c @@ -1,20 +1,23 @@ --- src/handlers.c.orig Mon Feb 23 01:42:46 2004 -+++ src/handlers.c Sun May 23 17:50:35 2004 -@@ -7,6 +7,10 @@ ++++ src/handlers.c Wed Jun 16 20:13:06 2004 +@@ -7,6 +7,11 @@ #include "node.h" #include "opts.h" #include "wl.h" +#if defined(__FreeBSD__) ++#include <signal.h> +#include "libgen.h" +#endif + extern struct arguments_t arguments; struct handler_t handlers[FC_HANDLER_MAX]= { -@@ -180,12 +184,18 @@ +@@ -180,12 +185,24 @@ } void show_event(enum handler_enum_t id, char *filename) { ++ struct sigaction sa; ++ + if (arguments.fileschanged.exec_command == NULL) { if (arguments.fileschanged.showaction) { @@ -23,6 +26,10 @@ fprintf(stdout, "%s\n",filename); fflush(stdout); + } else { ++ sa.sa_handler = SIG_IGN; ++ sa.sa_flags = SA_NOCLDWAIT; ++ sigemptyset(&sa.sa_mask); ++ sigaction(SIGCHLD, &sa, NULL); + if (!fork()) { + execlp(arguments.fileschanged.exec_command, arguments.fileschanged.exec_command, handlers[id].name, filename, NULL); + } |