]> git.lyx.org Git - lyx.git/blobdiff - src/support/syscall.C
use more explicit on constructors use the pimpl idom to reduce size with about 500k
[lyx.git] / src / support / syscall.C
index c5c99eadead36a5b089b2d9fedcefef51a35e616..ca1bf384bca2ea15fc8ffec4615254f631e37f1f 100644 (file)
@@ -4,20 +4,23 @@
 #pragma implementation
 #endif
 
-#include <errno.h>
+#include <cerrno>
 #include <sys/types.h>
 #include <sys/wait.h>
-#include <signal.h>
+#include <csignal>
 #include <cstdlib>
-#include <cstdio>
 #include <unistd.h>
 #include "debug.h"
 #include "syscall.h"
 #include "syscontr.h"
 #include "support/lstrings.h"
+#include "support/lyxlib.h"
+
+using std::endl;
+
 
 Systemcalls::Systemcalls() {
-       pid = (pid_t) 0; // No child yet
+       pid = 0; // No child yet
 }
 
 Systemcalls::Systemcalls(Starttype how, string const & what, Callbackfct cback)
@@ -25,7 +28,7 @@ Systemcalls::Systemcalls(Starttype how, string const & what, Callbackfct cback)
        start   = how;
        command = what;
        cbk     = cback;
-       pid     = (pid_t) 0;
+       pid     = static_cast<pid_t>(0);
        retval  = 0;
        startscript();
 }
@@ -34,7 +37,7 @@ Systemcalls::~Systemcalls() {
 #if 0
        // If the child is alive, we have to brutally kill it
        if (getpid() != 0) {
-               ::kill(getpid(), SIGKILL);
+               lyx::kill(getpid(), SIGKILL);
        }
 #endif
 }
@@ -73,12 +76,12 @@ int Systemcalls::startscript() {
        return retval;
 }
 
-void Systemcalls::kill(int tolerance) {
+void Systemcalls::kill(int /*tolerance*/) {
        if (getpid() == 0) {
                lyxerr << "LyX: Can't kill non-existing process." << endl;
                return;
        }
-       int ret = ::kill(getpid(), SIGHUP);
+       int ret = lyx::kill(getpid(), SIGHUP);
        bool wait_for_death = true;
        if (ret != 0) {
                if (errno == ESRCH) {
@@ -92,7 +95,9 @@ void Systemcalls::kill(int tolerance) {
                // Here, we should add the PID to a list of
                // waiting processes to kill if they are not
                // dead without tolerance seconds
+#ifdef WITH_WARNINGS
 #warning Implement this using the timer of the singleton systemcontroller (Asger)
+#endif
        }
 }
 
@@ -181,7 +186,7 @@ int Systemcalls::startscript(Starttype how, string const & what,
        start   = how;
        command = what;
        cbk     = cback;
-       pid     = (pid_t) 0; // yet no child
+       pid     = static_cast<pid_t>(0); // yet no child
        retval  = 0;
         return startscript();
 }
@@ -203,11 +208,11 @@ void back(string cmd, int retval)
 }
 
 
-int main(int, char**)
+int main(int, char **)
 {
        
        SystemcallsSingletoncontroller::Startcontroller starter; 
-       SystemcallsSingletoncontroller *contr=starter.GetController();
+       SystemcallsSingletoncontroller *contr= starter.GetController();
        
        Systemcalls one(Systemcalls::System, "ls -ltag", back);
        Systemcalls two(Systemcalls::Wait, "ls -ltag", back);