1 /* -*- Mode: C; c-basic-offset:4 ; -*- */
4 * Copyright (C) 1997 University of Chicago.
5 * See COPYRIGHT notice in top-level directory.
16 void ADIOI_GEN_Close(ADIO_File fd
, int *error_code
)
19 static char myname
[] = "ADIOI_GEN_CLOSE";
21 #ifdef ADIOI_MPE_LOGGING
22 MPE_Log_event( ADIOI_MPE_close_a
, 0, NULL
);
24 err
= close(fd
->fd_sys
);
25 #ifdef ADIOI_MPE_LOGGING
26 MPE_Log_event( ADIOI_MPE_close_b
, 0, NULL
);
28 if (fd
->fd_direct
>= 0) {
29 #ifdef ADIOI_MPE_LOGGING
30 MPE_Log_event( ADIOI_MPE_close_a
, 0, NULL
);
32 derr
= close(fd
->fd_direct
);
33 #ifdef ADIOI_MPE_LOGGING
34 MPE_Log_event( ADIOI_MPE_close_b
, 0, NULL
);
41 if (err
== -1 || derr
== -1) {
42 *error_code
= MPIO_Err_create_code(MPI_SUCCESS
, MPIR_ERR_RECOVERABLE
,
43 myname
, __LINE__
, MPI_ERR_IO
,
45 "**io %s", strerror(errno
));
47 else *error_code
= MPI_SUCCESS
;