1 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
2 /*
3  *
4  *   Copyright (C) 1997 University of Chicago.
5  *   See COPYRIGHT notice in top-level directory.
6  */
7 
8 #include "mpioimpl.h"
9 
10 #ifdef HAVE_WEAK_SYMBOLS
11 
12 #if defined(HAVE_PRAGMA_WEAK)
13 #pragma weak MPI_File_get_atomicity = PMPI_File_get_atomicity
14 #elif defined(HAVE_PRAGMA_HP_SEC_DEF)
15 #pragma _HP_SECONDARY_DEF PMPI_File_get_atomicity MPI_File_get_atomicity
16 #elif defined(HAVE_PRAGMA_CRI_DUP)
17 #pragma _CRI duplicate MPI_File_get_atomicity as PMPI_File_get_atomicity
18 /* end of weak pragmas */
19 #elif defined(HAVE_WEAK_ATTRIBUTE)
20 int MPI_File_get_atomicity(MPI_File fh, int *flag) __attribute__((weak,alias("PMPI_File_get_atomicity")));
21 #endif
22 
23 /* Include mapping from MPI->PMPI */
24 #define MPIO_BUILD_PROFILING
25 #include "mpioprof.h"
26 #endif
27 
28 /*@
29     MPI_File_get_atomicity - Returns the atomicity mode
30 
31 Input Parameters:
32 . fh - file handle (handle)
33 
34 Output Parameters:
35 . flag - true if atomic mode, false if nonatomic mode (logical)
36 
37 .N fortran
38 @*/
MPI_File_get_atomicity(MPI_File fh,int * flag)39 int MPI_File_get_atomicity(MPI_File fh, int *flag)
40 {
41     int error_code;
42     ADIO_File adio_fh;
43     static char myname[] = "MPI_FILE_GET_ATOMICITY";
44 
45     adio_fh = MPIO_File_resolve(fh);
46 
47     /* --BEGIN ERROR HANDLING-- */
48     MPIO_CHECK_FILE_HANDLE(adio_fh, myname, error_code);
49     /* --END ERROR HANDLING-- */
50 
51     *flag = adio_fh->atomicity;
52 
53 fn_exit:
54     return MPI_SUCCESS;
55 }
56