[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.
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [taler-anastasis] branch master updated: first-level clean up,
gnunet <=