This source file includes following definitions.
- MPI_File_delete
1
2
3
4
5
6
7
8 #include "mpioimpl.h"
9
10 #ifdef HAVE_WEAK_SYMBOLS
11
12 #if defined(HAVE_PRAGMA_WEAK)
13 #pragma weak MPI_File_delete = PMPI_File_delete
14 #elif defined(HAVE_PRAGMA_HP_SEC_DEF)
15 #pragma _HP_SECONDARY_DEF PMPI_File_delete MPI_File_delete
16 #elif defined(HAVE_PRAGMA_CRI_DUP)
17 #pragma _CRI duplicate MPI_File_delete as PMPI_File_delete
18
19 #elif defined(HAVE_WEAK_ATTRIBUTE)
20 int MPI_File_delete(const char *filename, MPI_Info info) __attribute__((weak,alias("PMPI_File_delete")));
21 #endif
22
23
24 #define MPIO_BUILD_PROFILING
25 #include "mpioprof.h"
26 #endif
27
28
29
30
31
32
33
34
35
36
37 int MPI_File_delete(ROMIO_CONST char *filename, MPI_Info info)
38 {
39 int error_code, file_system;
40 char *tmp;
41 ADIOI_Fns *fsops;
42 #ifdef MPI_hpux
43 int fl_xmpi;
44
45 HPMP_IO_START(fl_xmpi, BLKMPIFILEDELETE, TRDTBLOCK,
46 MPI_FILE_NULL, MPI_DATATYPE_NULL, -1);
47 #endif
48
49 MPIU_UNREFERENCED_ARG(info);
50
51 ROMIO_THREAD_CS_ENTER();
52
53 MPIR_MPIOInit(&error_code);
54 if (error_code != MPI_SUCCESS) goto fn_exit;
55
56
57 ADIO_ResolveFileType(MPI_COMM_SELF, filename, &file_system, &fsops,
58 &error_code);
59
60
61 if (error_code != MPI_SUCCESS)
62 {
63
64
65
66
67
68 error_code = MPIO_Err_return_file(MPI_FILE_NULL, error_code);
69 goto fn_exit;
70 }
71
72
73
74
75
76
77 tmp = strchr(filename, ':');
78 if (tmp > filename + 1)
79 filename = tmp + 1;
80
81
82 (fsops->ADIOI_xxx_Delete)(filename, &error_code);
83
84 if (error_code != MPI_SUCCESS)
85 error_code = MPIO_Err_return_file(MPI_FILE_NULL, error_code);
86
87
88 #ifdef MPI_hpux
89 HPMP_IO_END(fl_xmpi, MPI_FILE_NULL, MPI_DATATYPE_NULL, -1);
90 #endif
91
92 fn_exit:
93 ROMIO_THREAD_CS_EXIT();
94 return error_code;
95 }