OK, I found the problem in upstream source code :

all you have to do is to replace each "return()" calls by "exit()" calls in 
main function.

I attached a small patch to this email, changing the 2 calls I found in pxe.cc.

Regards,
diff -urN pxe-1.4.2.old/pxe.cc pxe-1.4.2.new/pxe.cc
--- pxe-1.4.2.old/pxe.cc        2005-11-01 20:49:26.000000000 +0100
+++ pxe-1.4.2.new/pxe.cc        2005-11-01 20:49:58.000000000 +0100
@@ -263,7 +263,7 @@
        if(-1 == chk)
        {
                std::cerr << "PXE daemon already running\n";
-               return(-1);
+               exit(-1);
        }
 
        // set the UID/GID to a low user
@@ -334,5 +334,5 @@
                StartPxeService(configfile);
        }
        
-       return(0);
+       exit(0);
 }

Reply via email to