Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
bf2508bb4a56f5cb1553f0a867078deb777f4c4d
[simgrid.git] / teshsuite / smpi / mpich3-test / coll / ibarrier.c
1 /* -*- Mode: c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
2 /*
3  *  (C) 2013 by Argonne National Laboratory.
4  *      See COPYRIGHT in top-level directory.
5  */
6
7 /* Regression test for ticket #1785, contributed by Jed Brown.  The test was
8  * hanging indefinitely under a buggy version of ch3:sock. */
9
10 #include <mpi.h>
11 #include <stdio.h>
12 #include <unistd.h>
13
14 #if !defined(USE_STRICT_MPI) && defined(MPICH)
15 #define TEST_NBC_ROUTINES 1
16 #endif
17
18 int main(int argc, char *argv[])
19 {
20     MPI_Request barrier;
21     int rank,i,done;
22
23     MPI_Init(&argc,&argv);
24     MPI_Comm_rank(MPI_COMM_WORLD,&rank);
25     #if defined(TEST_NBC_ROUTINES)
26     MPI_Ibarrier(MPI_COMM_WORLD,&barrier);
27     for (i=0,done=0; !done; i++) {
28         usleep(1000);
29         /*printf("[%d] MPI_Test: %d\n",rank,i);*/
30         MPI_Test(&barrier,&done,MPI_STATUS_IGNORE);
31     }
32     #endif
33     if (rank == 0)
34         printf(" No Errors\n");
35
36     MPI_Finalize();
37     return 0;
38 }