00001
00002
00003
00004
00005
00006
00007
00008
00009 #include "ad_xfs.h"
00010
00011 void ADIOI_XFS_Close(ADIO_File fd, int *error_code)
00012 {
00013 int err, err1;
00014 #ifndef PRINT_ERR_MSG
00015 static char myname[] = "ADIOI_XFS_CLOSE";
00016 #endif
00017
00018 err = close(fd->fd_sys);
00019 err1 = close(fd->fd_direct);
00020
00021 #ifdef PRINT_ERR_MSG
00022 *error_code = ((err == 0) && (err1 == 0)) ? MPI_SUCCESS : MPI_ERR_UNKNOWN;
00023 #else
00024 if ((err == -1) || (err1 == -1)) {
00025 *error_code = MPIR_Err_setmsg(MPI_ERR_IO, MPIR_ADIO_ERROR,
00026 myname, "I/O Error", "%s", strerror(errno));
00027 ADIOI_Error(fd, *error_code, myname);
00028 }
00029 else *error_code = MPI_SUCCESS;
00030 #endif
00031 }