aboutsummaryrefslogtreecommitdiff
path: root/src/nat/gnunet-service-nat_mini.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2017-02-19 13:57:34 +0100
committerChristian Grothoff <christian@grothoff.org>2017-02-19 13:57:34 +0100
commit360d7afad50d1af425a20e89419d2063a6a0e220 (patch)
tree1597e6257a3f5eedecac8c30ed41e81d366168ae /src/nat/gnunet-service-nat_mini.c
parentaf4e2e306bd703958ab0b8de1ab25fcc0a528eea (diff)
downloadgnunet-360d7afad50d1af425a20e89419d2063a6a0e220.tar.gz
gnunet-360d7afad50d1af425a20e89419d2063a6a0e220.zip
fix zombie-fest
Diffstat (limited to 'src/nat/gnunet-service-nat_mini.c')
-rw-r--r--src/nat/gnunet-service-nat_mini.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/nat/gnunet-service-nat_mini.c b/src/nat/gnunet-service-nat_mini.c
index e5b9d021b..8f1229be1 100644
--- a/src/nat/gnunet-service-nat_mini.c
+++ b/src/nat/gnunet-service-nat_mini.c
@@ -123,7 +123,7 @@ read_external_ipv4 (void *cls)
123 { 123 {
124 /* try to read more */ 124 /* try to read more */
125 eh->off += ret; 125 eh->off += ret;
126 eh->task 126 eh->task
127 = GNUNET_SCHEDULER_add_read_file (GNUNET_TIME_UNIT_FOREVER_REL, 127 = GNUNET_SCHEDULER_add_read_file (GNUNET_TIME_UNIT_FOREVER_REL,
128 eh->r, 128 eh->r,
129 &read_external_ipv4, 129 &read_external_ipv4,
@@ -233,7 +233,7 @@ GNUNET_NAT_mini_get_external_ipv4_ (GNUNET_NAT_IPCallback cb,
233 GNUNET_DISK_PIPE_END_WRITE); 233 GNUNET_DISK_PIPE_END_WRITE);
234 eh->r = GNUNET_DISK_pipe_handle (eh->opipe, 234 eh->r = GNUNET_DISK_pipe_handle (eh->opipe,
235 GNUNET_DISK_PIPE_END_READ); 235 GNUNET_DISK_PIPE_END_READ);
236 eh->task 236 eh->task
237 = GNUNET_SCHEDULER_add_read_file (GNUNET_TIME_UNIT_FOREVER_REL, 237 = GNUNET_SCHEDULER_add_read_file (GNUNET_TIME_UNIT_FOREVER_REL,
238 eh->r, 238 eh->r,
239 &read_external_ipv4, 239 &read_external_ipv4,
@@ -254,6 +254,8 @@ GNUNET_NAT_mini_get_external_ipv4_cancel_ (struct GNUNET_NAT_ExternalHandle *eh)
254 { 254 {
255 (void) GNUNET_OS_process_kill (eh->eip, 255 (void) GNUNET_OS_process_kill (eh->eip,
256 SIGKILL); 256 SIGKILL);
257 GNUNET_break (GNUNET_OK ==
258 GNUNET_OS_process_wait (eh->eip));
257 GNUNET_OS_process_destroy (eh->eip); 259 GNUNET_OS_process_destroy (eh->eip);
258 } 260 }
259 if (NULL != eh->opipe) 261 if (NULL != eh->opipe)
@@ -372,7 +374,7 @@ run_upnpc_r (struct GNUNET_NAT_MiniHandle *mini)
372 sizeof (pstr), 374 sizeof (pstr),
373 "%u", 375 "%u",
374 (unsigned int) mini->port); 376 (unsigned int) mini->port);
375 mini->map_cmd 377 mini->map_cmd
376 = GNUNET_OS_command_run (&process_map_output, 378 = GNUNET_OS_command_run (&process_map_output,
377 mini, 379 mini,
378 MAP_TIMEOUT, 380 MAP_TIMEOUT,
@@ -516,7 +518,7 @@ do_refresh (void *cls)
516 struct GNUNET_NAT_MiniHandle *mini = cls; 518 struct GNUNET_NAT_MiniHandle *mini = cls;
517 int ac; 519 int ac;
518 520
519 mini->refresh_task 521 mini->refresh_task
520 = GNUNET_SCHEDULER_add_delayed (MAP_REFRESH_FREQ, 522 = GNUNET_SCHEDULER_add_delayed (MAP_REFRESH_FREQ,
521 &do_refresh, 523 &do_refresh,
522 mini); 524 mini);
@@ -538,7 +540,7 @@ do_refresh (void *cls)
538 mini->refresh_cmd = NULL; 540 mini->refresh_cmd = NULL;
539 ac = GNUNET_YES; 541 ac = GNUNET_YES;
540 } 542 }
541 mini->refresh_cmd 543 mini->refresh_cmd
542 = GNUNET_OS_command_run (&process_refresh_output, 544 = GNUNET_OS_command_run (&process_refresh_output,
543 mini, 545 mini,
544 MAP_TIMEOUT, 546 MAP_TIMEOUT,
@@ -582,7 +584,7 @@ process_map_output (void *cls,
582 0, 584 0,
583 GNUNET_NAT_ERROR_UPNPC_PORTMAP_FAILED); 585 GNUNET_NAT_ERROR_UPNPC_PORTMAP_FAILED);
584 if (NULL == mini->refresh_task) 586 if (NULL == mini->refresh_task)
585 mini->refresh_task 587 mini->refresh_task
586 = GNUNET_SCHEDULER_add_delayed (MAP_REFRESH_FREQ, 588 = GNUNET_SCHEDULER_add_delayed (MAP_REFRESH_FREQ,
587 &do_refresh, 589 &do_refresh,
588 mini); 590 mini);
@@ -747,7 +749,7 @@ GNUNET_NAT_mini_map_stop (struct GNUNET_NAT_MiniHandle *mini)
747 LOG (GNUNET_ERROR_TYPE_DEBUG, 749 LOG (GNUNET_ERROR_TYPE_DEBUG,
748 "Unmapping port %u with UPnP\n", 750 "Unmapping port %u with UPnP\n",
749 ntohs (mini->current_addr.sin_port)); 751 ntohs (mini->current_addr.sin_port));
750 mini->unmap_cmd 752 mini->unmap_cmd
751 = GNUNET_OS_command_run (&process_unmap_output, 753 = GNUNET_OS_command_run (&process_unmap_output,
752 mini, 754 mini,
753 UNMAP_TIMEOUT, 755 UNMAP_TIMEOUT,