use _exit in signal handlers
authorChristian Grothoff <christian@grothoff.org>
Sun, 19 May 2019 22:00:40 +0000 (00:00 +0200)
committerChristian Grothoff <christian@grothoff.org>
Sun, 19 May 2019 22:00:40 +0000 (00:00 +0200)
src/transport/gnunet-service-tng.c
src/util/gnunet-timeout.c

index f009a491b508e102be325d5421a5bb8ad37b37af..20285f94a2f7c69f673c07c02f2a1333e10b5566 100644 (file)
  *   - increment incoming_fc_window_size_used_kb when CORE is done
  *     with incoming packets!
  *
+ *   for DV)
+ *   - send challenges via DV (when DVH is confirmed *and* we care about
+ *     the target to get window size, or when DVH is unconfirmed (passive
+ *     learning!) to confirm it!)
+ *   - handle challenge responses in this case (note: validity period of addresses
+ *     will be zero!)
+ *   - if available, try to use DV paths when trying to establish
+ *     virtual link for a `struct IncomingRequest`. (i.e. if DVH is
+ *     unconfirmed, incoming requests also trigger challenge-via-DV!)
+ *
  * - review retransmission logic, right now there is no smartness there!
  *   => congestion control, etc [PERFORMANCE-BASICS]
  *
index 18721ba036907704d312c5d38056b2d095530e1e..d71b66af4b2fcfa9b8d5babbdb11cdccbcf3e5d5 100644 (file)
@@ -41,42 +41,33 @@ sigchld_handler (int val)
   int ret = 0;
 
   (void) val;
-  waitpid (child,
-           &status,
-           0);
+  waitpid (child, &status, 0);
   if (WIFEXITED (status) != 0)
   {
     ret = WEXITSTATUS (status);
-    fprintf (stderr,
-             "Process exited with result %u\n",
-             ret);
-    exit (ret); /* return same status code */
+    fprintf (stderr, "Process exited with result %u\n", ret);
+    _exit (ret); /* return same status code */
   }
   if (WIFSIGNALED (status) != 0)
   {
     ret = WTERMSIG (status);
-    fprintf (stderr,
-             "Process received signal %u\n",
-             ret);
-    kill (getpid (),
-          ret); /* kill self with the same signal */
+    fprintf (stderr, "Process received signal %u\n", ret);
+    kill (getpid (), ret); /* kill self with the same signal */
   }
-  exit (-1);
+  _exit (-1);
 }
 
 
 static void
 sigint_handler (int val)
 {
-  kill (0,
-        val);
-  exit (val);
+  kill (0, val);
+  _exit (val);
 }
 
 
 int
-main (int argc,
-      char *argv[])
+main (int argc, char *argv[])
 {
   int timeout = 0;
   pid_t gpid = 0;
@@ -111,8 +102,7 @@ main (int argc,
     //setpgrp (0, pid_t gpid);
     if (-1 != gpid)
       setpgid (0, gpid);
-    execvp (argv[2],
-            &argv[2]);
+    execvp (argv[2], &argv[2]);
     exit (-1);
   }
   if (child > 0)
@@ -120,8 +110,7 @@ main (int argc,
     sleep (timeout);
     printf ("Child processes were killed after timeout of %u seconds\n",
             timeout);
-    kill (0,
-          SIGTERM);
+    kill (0, SIGTERM);
     exit (3);
   }
   exit (-1);