xref: /petsc/src/sys/classes/draw/impls/x/xioerr.c (revision 4e8208cbcbc709572b8abe32f33c78b69c819375)
1e118a51fSLisandro Dalcin #include <../src/sys/classes/draw/impls/x/ximpl.h> /*I  "petscsys.h" I*/
2e118a51fSLisandro Dalcin 
3e118a51fSLisandro Dalcin #if defined(PETSC_HAVE_SETJMP_H)
4e118a51fSLisandro Dalcin 
5e118a51fSLisandro Dalcin jmp_buf PetscXIOErrorHandlerJumpBuf;
6e118a51fSLisandro Dalcin 
PetscXIOErrorHandlerJump(PETSC_UNUSED PetscCtx ctx)7*2a8381b2SBarry Smith void PetscXIOErrorHandlerJump(PETSC_UNUSED PetscCtx ctx)
8d71ae5a4SJacob Faibussowitsch {
9e118a51fSLisandro Dalcin   longjmp(PetscXIOErrorHandlerJumpBuf, 1);
10e118a51fSLisandro Dalcin }
11e118a51fSLisandro Dalcin 
PetscSetXIOErrorHandler(PetscXIOErrorHandlerFn * xioerrhdl)128434afd1SBarry Smith PetscXIOErrorHandlerFn *PetscSetXIOErrorHandler(PetscXIOErrorHandlerFn *xioerrhdl)
13d71ae5a4SJacob Faibussowitsch {
14453a69bbSBarry Smith   return (PetscXIOErrorHandlerFn *)(PetscVoidFn *)XSetIOErrorHandler((XIOErrorHandler)(void (*)(void))xioerrhdl);
15e118a51fSLisandro Dalcin }
16e118a51fSLisandro Dalcin 
17e118a51fSLisandro Dalcin #endif
18