Blame test/mpi/pt2pt/issendselfcancel.c
|
Packit |
0848f5 |
/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
|
|
Packit |
0848f5 |
/*
|
|
Packit |
0848f5 |
* (C) 2014 by Argonne National Laboratory.
|
|
Packit |
0848f5 |
* See COPYRIGHT in top-level directory.
|
|
Packit |
0848f5 |
*/
|
|
Packit |
0848f5 |
#include <stdio.h>
|
|
Packit |
0848f5 |
#include <stdlib.h>
|
|
Packit |
0848f5 |
#include <assert.h>
|
|
Packit |
0848f5 |
#include "mpi.h"
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
int main(int argc, char **argv)
|
|
Packit |
0848f5 |
{
|
|
Packit |
0848f5 |
MPI_Request req;
|
|
Packit |
0848f5 |
MPI_Status status;
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
MPI_Init(NULL, NULL);
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
MPI_Issend(NULL, 0, MPI_BYTE, 0, 123, MPI_COMM_SELF, &req;;
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
MPI_Probe(MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_COMM_SELF, &status);
|
|
Packit |
0848f5 |
assert(status.MPI_SOURCE == 0);
|
|
Packit |
0848f5 |
assert(status.MPI_TAG == 123);
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
MPI_Cancel(&req;;
|
|
Packit |
0848f5 |
assert(req != MPI_REQUEST_NULL);
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
MPI_Request_free(&req;;
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
MPI_Irecv(NULL, 0, MPI_BYTE, 0, 123, MPI_COMM_SELF, &req;;
|
|
Packit |
0848f5 |
MPI_Cancel(&req;;
|
|
Packit |
0848f5 |
MPI_Wait(&req, &status);
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
printf(" No Errors\n");
|
|
Packit |
0848f5 |
|
|
Packit |
0848f5 |
MPI_Finalize();
|
|
Packit |
0848f5 |
}
|