include <sys/stat.h> instead of defining a 'struct stat'; this prevents
[util-vserver.git] / util-vserver / src / vkill.c
index cdf77c7..a95f8a7 100644 (file)
@@ -36,6 +36,7 @@
 #include <sys/wait.h>
 
 #define ENSC_WRAPPERS_VSERVER  1
+#define ENSC_WRAPPERS_UNISTD   1
 #include <wrappers.h>
 
 #define CMD_HELP       0x8000
@@ -112,12 +113,12 @@ str2sig(char const *str)
 inline static ALWAYSINLINE int
 kill_wrapper_legacy(xid_t UNUSED xid, char const *proc, int UNUSED sig)
 {
-  pid_t                pid = fork();
-  if (pid==-1) {
-    perror("vkill: fork()");
-    exit(1);
-  }
-  else if (pid==0) {
+  pid_t                pid;
+
+  signal(SIGCHLD, SIG_DFL);
+  pid = Efork();
+
+  if (pid==0) {
     int                status;
     int                res;
     while ((res=wait4(pid, &status, 0,0))==-1 &&