aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSree Harsha Totakura <totakura@in.tum.de>2013-03-01 14:32:43 +0000
committerSree Harsha Totakura <totakura@in.tum.de>2013-03-01 14:32:43 +0000
commit4b763a0a146c60462b8f18021c986f35dcb34041 (patch)
treeb3575b2cc35eec18a4f23bbedfad294159b76827
parent91bbb6ec8b9aaf974ae2bcddc102906db5775a22 (diff)
downloadgnunet-4b763a0a146c60462b8f18021c986f35dcb34041.tar.gz
gnunet-4b763a0a146c60462b8f18021c986f35dcb34041.zip
finish off with MPI before spawning
-rw-r--r--src/testbed/gnunet_testbed_mpi_spawn.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/testbed/gnunet_testbed_mpi_spawn.c b/src/testbed/gnunet_testbed_mpi_spawn.c
index 522cb1f4a..cb382b987 100644
--- a/src/testbed/gnunet_testbed_mpi_spawn.c
+++ b/src/testbed/gnunet_testbed_mpi_spawn.c
@@ -53,13 +53,16 @@ main (int argc, char *argv[])
53 { 53 {
54 GNUNET_break (0); 54 GNUNET_break (0);
55 ret = 3; 55 ret = 3;
56 goto finalize; 56 (void) MPI_Finalize ();
57 goto end;
57 } 58 }
58 if (0 != rank) 59 if (0 != rank)
59 { 60 {
60 ret = 0; 61 ret = 0;
61 goto finalize; 62 (void) MPI_Finalize ();
63 goto end;
62 } 64 }
65 (void) MPI_Finalize ();
63 PRINTF ("Spawning process\n"); 66 PRINTF ("Spawning process\n");
64 argv2 = GNUNET_malloc (sizeof (char *) * argc); 67 argv2 = GNUNET_malloc (sizeof (char *) * argc);
65 for (cnt = 1; cnt < argc; cnt++) 68 for (cnt = 1; cnt < argc; cnt++)
@@ -71,7 +74,7 @@ main (int argc, char *argv[])
71 { 74 {
72 LOG (GNUNET_ERROR_TYPE_ERROR, "Cannot exec\n"); 75 LOG (GNUNET_ERROR_TYPE_ERROR, "Cannot exec\n");
73 ret = 5; 76 ret = 5;
74 goto finalize; 77 goto end;
75 } 78 }
76 do 79 do
77 { 80 {
@@ -82,18 +85,17 @@ main (int argc, char *argv[])
82 if (GNUNET_OK != chstat) 85 if (GNUNET_OK != chstat)
83 { 86 {
84 ret = 6; 87 ret = 6;
85 goto finalize; 88 goto end;
86 } 89 }
87 if (0 != code) 90 if (0 != code)
88 { 91 {
89 LOG (GNUNET_ERROR_TYPE_WARNING, "Child terminated abnormally\n"); 92 LOG (GNUNET_ERROR_TYPE_WARNING, "Child terminated abnormally\n");
90 ret = 50 + (int) code; 93 ret = 50 + (int) code;
91 goto finalize; 94 goto end;
92 } 95 }
93 ret = 0; 96 ret = 0;
94 97
95 finalize: 98 end:
96 (void) MPI_Finalize ();
97 if (0 != ret) 99 if (0 != ret)
98 LOG (GNUNET_ERROR_TYPE_ERROR, "Something went wrong. Error: %d\n", ret); 100 LOG (GNUNET_ERROR_TYPE_ERROR, "Something went wrong. Error: %d\n", ret);
99 return ret; 101 return ret;