diff --git a/twofing/twofingemu.c b/twofing/twofingemu.c index 124b42b..99d777e 100644 --- a/twofing/twofingemu.c +++ b/twofing/twofingemu.c @@ -33,7 +33,8 @@ #include #include #include - +#include +#include #define EXIT_SUCCESS 0 #define EXIT_FAILURE 1 @@ -87,6 +88,32 @@ static void daemonize(void) { r = r; } +char **my_argv; + +void signal_handler(int s) { + if (s == SIGUSR1) { + /* restarting */ + char buf[250]; + int i = readlink("/proc/self/exe", buf, sizeof(buf)); + if (i <= 0) return; + + buf[i] = 0; + int maxfd = sysconf(_SC_OPEN_MAX); + for(i = 3; i