summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2019-05-20 00:00:40 +0200
committerChristian Grothoff <christian@grothoff.org>2019-05-20 00:00:40 +0200
commit426317707f34282830e5595193fcf2546c7d5b49 (patch)
tree3a18da0e6268dac4dabe9517d3a66e1644fc0423 /src
parent6e2ca97fb0d3d85c1ef127bc0b9bd3e1e72aa9e8 (diff)
use _exit in signal handlers
Diffstat (limited to 'src')
-rw-r--r--src/transport/gnunet-service-tng.c10
-rw-r--r--src/util/gnunet-timeout.c33
2 files changed, 21 insertions, 22 deletions
diff --git a/src/transport/gnunet-service-tng.c b/src/transport/gnunet-service-tng.c
index f009a491b..20285f94a 100644
--- a/src/transport/gnunet-service-tng.c
+++ b/src/transport/gnunet-service-tng.c
@@ -44,6 +44,16 @@
* - 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]
*
diff --git a/src/util/gnunet-timeout.c b/src/util/gnunet-timeout.c
index 18721ba03..d71b66af4 100644
--- a/src/util/gnunet-timeout.c
+++ b/src/util/gnunet-timeout.c
@@ -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);