2 #include "gnunet_util_lib.h"
5 * Generic logging shorthand
7 #define LOG(kind,...) \
8 GNUNET_log_from (kind, "gnunet-mpi-test", __VA_ARGS__)
10 int main (int argc, char *argv[])
23 (void) GNUNET_asprintf (&filename, "%d-%d.mpiout", (int) pid, rank);
24 msg_size = GNUNET_asprintf (&msg, "My pid is: %d\n", pid);
26 if (msg_size == GNUNET_DISK_fn_write (filename,
28 GNUNET_DISK_PERM_USER_READ
29 | GNUNET_DISK_PERM_GROUP_READ
30 | GNUNET_DISK_PERM_USER_WRITE
31 | GNUNET_DISK_PERM_GROUP_WRITE))
33 GNUNET_free (filename);
43 GNUNET_log_strerror (GNUNET_ERROR_TYPE_ERROR, "fork");
50 (void) GNUNET_asprintf (&filename, "%d-%d.mpiout", (int) pid, rank);
51 msg_size = GNUNET_asprintf (&msg, "Child of %d\n", (int) ppid);
53 if (msg_size == GNUNET_DISK_fn_write (filename,
55 GNUNET_DISK_PERM_USER_READ
56 | GNUNET_DISK_PERM_GROUP_READ
57 | GNUNET_DISK_PERM_USER_WRITE
58 | GNUNET_DISK_PERM_GROUP_WRITE))
60 GNUNET_free (filename);
62 return (GNUNET_OK == ret) ? 0 : 1;
68 childpid = waitpid (pid, &status, 0);
74 if (!WIFEXITED (status))
79 if (0 != WEXITSTATUS (status))
87 return (GNUNET_OK == ret) ? 0 : 1;