gnunet-svn
[Top][All Lists]
Advanced

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

[taler-anastasis] branch master updated: first-level clean up


From: gnunet
Subject: [taler-anastasis] branch master updated: first-level clean up
Date: Fri, 15 Jan 2021 10:12:44 +0100

This is an automated email from the git hooks/post-receive script.

grothoff pushed a commit to branch master
in repository anastasis.

The following commit(s) were added to refs/heads/master by this push:
     new 47d3c54  first-level clean up
47d3c54 is described below

commit 47d3c5405bc5b2215a03ed137e9a5baf18e31139
Author: Christian Grothoff <christian@grothoff.org>
AuthorDate: Fri Jan 15 10:12:42 2021 +0100

    first-level clean up
---
 src/util/test_anastasis_child_management.c | 87 +++++++++++++++++++-----------
 1 file changed, 57 insertions(+), 30 deletions(-)

diff --git a/src/util/test_anastasis_child_management.c 
b/src/util/test_anastasis_child_management.c
index 5ba9421..7e131b9 100644
--- a/src/util/test_anastasis_child_management.c
+++ b/src/util/test_anastasis_child_management.c
@@ -27,54 +27,81 @@
 #include <gnunet/gnunet_util_lib.h>
 #include "anastasis_util_lib.h"
 
-void
-childCompletedCallback(void *cls,
-                       enum GNUNET_OS_ProcessStatusType type,
-                       long unsigned int exit_code)
+
+static struct ANASTASIS_ChildWaitHandle *cwh;
+
+static int global_ret;
+
+
+static void
+child_completed_callback (void *cls,
+                          enum GNUNET_OS_ProcessStatusType type,
+                          long unsigned int exit_code)
 {
-  GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,"%lu",exit_code);
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+              "%lu",
+              exit_code);
 }
 
-static int
-test_child_management()
+
+static void
+test_child_management ()
 {
+  const char *command = "child_management_test.sh";
   int p[2];
   int ret = pipe (p);
-  pid_t pid = fork ();
-  char *command = "child_management_test.sh";
-  switch (pid)
+  pid_t pid;
+
+  if (0 != ret)
   {
-    case -1:
+    GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERRROR,
+                         "pipe");
+    global_ret = 2;
+    return;
+  }
+  pid = fork ();
+  if (-1 == pid)
+  {
+    GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERRROR,
+                         "fork");
     close (p[0]);
     close (p[1]);
-    return 2;
-  case 0:
-    dup2 (p[0],0);
+    global_ret = 1;
+    return;
+  }
+  if (0 == pid)
+  {
+    close (STDIN_FILENO);
+    dup2 (p[0], STDIN_FILENO);
     close (p[1]);
-    execlp (command,"1234","1111111111", NULL);
     close (p[0]);
-    close (p[1]);
-    struct ANASTASIS_ChildWaitHandle *cwh;
-    void *cls;
-    cwh = ANASTASIS_wait_child (pid,
-                                &childCompletedCallback,
-                                cls);
-    break;
-  default:
-    /*FIXME */
-    break;
+    execlp (command,
+            command,
+            "1234",
+            "1111111111",
+            NULL);
+    GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERRROR,
+                              "execlp",
+                              command);
+    exit (-1);
   }
-  return 0;
+
+  cwh = ANASTASIS_wait_child (pid,
+                              &child_completed_callback,
+                              cls);
 }
 
+
 int
 main (int argc,
       const char *const argv[])
 {
-  if (0 != test_child_management ())
-    return 1;
-  GNUNET_log_setup (argv[0], "DEBUG", NULL);
+  GNUNET_log_setup (argv[0],
+                    "DEBUG",
+                    NULL);
+  test_child_management ();
+  return global_ret;
 }
 
 
-/* end of test_anastasis_crypto.c */
+/* end of test_anastasis_child_management.c */

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

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