gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r13319 - gnunet/src/arm


From: gnunet
Subject: [GNUnet-SVN] r13319 - gnunet/src/arm
Date: Wed, 20 Oct 2010 15:17:20 +0200

Author: grothoff
Date: 2010-10-20 15:17:20 +0200 (Wed, 20 Oct 2010)
New Revision: 13319

Modified:
   gnunet/src/arm/gnunet-service-arm.c
Log:
close pipe on exit

Modified: gnunet/src/arm/gnunet-service-arm.c
===================================================================
--- gnunet/src/arm/gnunet-service-arm.c 2010-10-20 13:17:04 UTC (rev 13318)
+++ gnunet/src/arm/gnunet-service-arm.c 2010-10-20 13:17:20 UTC (rev 13319)
@@ -695,8 +695,6 @@
 {
   GNUNET_SERVER_destroy (server);
   server = NULL;
-  GNUNET_SIGNAL_handler_uninstall (shc_chld);
-  shc_chld = NULL;
   GNUNET_SCHEDULER_cancel (sched, child_death_task);
   child_death_task = GNUNET_SCHEDULER_NO_TASK;
 }
@@ -1039,10 +1037,6 @@
   sched = s;
   server = serv;
   GNUNET_assert (serv != NULL);
-  shc_chld = GNUNET_SIGNAL_handler_install (GNUNET_SIGCHLD, 
&sighandler_child_death);
-  GNUNET_assert (sigpipe == NULL);
-  sigpipe = GNUNET_DISK_pipe (GNUNET_NO, GNUNET_NO, GNUNET_NO);
-  GNUNET_assert (sigpipe != NULL);
   pr = GNUNET_DISK_pipe_handle (sigpipe, GNUNET_DISK_PIPE_END_READ);
   GNUNET_assert (pr != NULL);
   GNUNET_SERVER_ignore_shutdown (serv, GNUNET_YES);
@@ -1119,9 +1113,19 @@
 int
 main (int argc, char *const *argv)
 {
-  return (GNUNET_OK ==
-         GNUNET_SERVICE_run (argc,
-                             argv, "arm", GNUNET_YES, &run, NULL)) ? 0 : 1;
+  int ret;
+
+  sigpipe = GNUNET_DISK_pipe (GNUNET_NO, GNUNET_NO, GNUNET_NO);
+  GNUNET_assert (sigpipe != NULL);
+  shc_chld = GNUNET_SIGNAL_handler_install (GNUNET_SIGCHLD, 
&sighandler_child_death);
+  ret = (GNUNET_OK ==
+        GNUNET_SERVICE_run (argc,
+                            argv, "arm", GNUNET_YES, &run, NULL)) ? 0 : 1;
+  GNUNET_SIGNAL_handler_uninstall (shc_chld);
+  shc_chld = NULL;
+  GNUNET_DISK_pipe_close (sigpipe);
+  sigpipe = NULL;
+  return ret;
 }
 
 /* end of gnunet-service-arm.c */




reply via email to

[Prev in Thread] Current Thread [Next in Thread]