예제 #1
0
파일: mumps_io.c 프로젝트: BRAINSia/calatk
/* Cleans the thread/io management data*/
void MUMPS_CALL
MUMPS_CLEAN_IO_DATA_C(MUMPS_INT *myid,MUMPS_INT *step,MUMPS_INT *ierr)
{
  char buf[64]; /* for error message */
  int step_loc,myid_loc,ierr_loc;
  step_loc=(int)*step;
  myid_loc=(int)*myid;
  if(!mumps_io_is_init_called){
    return;
  }
  switch(mumps_io_flag_async){
  case IO_SYNC:
    break;
#if ! defined(MUMPS_WIN32) && ! defined(WITHOUT_PTHREAD)
  case IO_ASYNC_TH:
    ierr_loc=mumps_clean_io_data_c_th(&myid_loc);
    *ierr=(MUMPS_INT)ierr_loc;
    break;
#endif
  default:
    *ierr=-91;
    sprintf(buf,"Error: unknown I/O strategy : %d\n",mumps_io_flag_async);
    mumps_io_error((int)*ierr,buf);
    return;
  }
  mumps_free_file_pointers(&step_loc);
  mumps_io_is_init_called=0;
  return;
}
예제 #2
0
/* Cleans the thread/io management data*/
void MUMPS_CALL
MUMPS_CLEAN_IO_DATA_C(int * myid,int *step,int *ierr)
{
  char buf[64]; /* for error message */
  if(!mumps_io_is_init_called){
    return;
  }
  switch(mumps_io_flag_async){
  case IO_SYNC:
    break;
#if ! defined(MUMPS_WIN32) && ! defined(WITHOUT_PTHREAD)
  case IO_ASYNC_TH:
    *ierr=mumps_clean_io_data_c_th(myid);
    break;
#endif
  default:
    *ierr=-91;
    sprintf(buf,"Error: unknown I/O strategy : %d\n",mumps_io_flag_async);
    mumps_io_error(*ierr,buf);
    return;
  }
  mumps_free_file_pointers(step);
  mumps_io_is_init_called=0;
  return;
}