Navigation

Operators and Keywords

Function List:

C++ API

quit.h File Reference

#include <stdio.h>
#include <signal.h>
#include <setjmp.h>

Include dependency graph for quit.h:

Go to the source code of this file.


Defines

#define octave_quit_h   1
#define octave_set_current_context   setjmp (current_context)
#define OCTAVE_QUIT
#define BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE
#define BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE_1
#define BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE_2
#define END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE

Typedefs

typedef jmp_buf octave_jmp_buf

Enumerations

enum  octave_exception { octave_no_exception = 0, octave_exec_exception = 1, octave_alloc_exception = 2 }

Functions

CRUFT_API void octave_save_current_context (void *)
CRUFT_API void octave_restore_current_context (void *)
CRUFT_API void octave_jump_to_enclosing_context (void) GCC_ATTR_NORETURN
CRUFT_API void octave_save_signal_mask (void)
CRUFT_API void octave_restore_signal_mask (void)
CRUFT_API void octave_handle_signal (void)
CRUFT_API void octave_throw_interrupt_exception (void) GCC_ATTR_NORETURN
CRUFT_API void octave_throw_execution_exception (void) GCC_ATTR_NORETURN
CRUFT_API void octave_throw_bad_alloc (void) GCC_ATTR_NORETURN
CRUFT_API void octave_rethrow_exception (void)

Variables

CRUFT_API octave_jmp_buf current_context
CRUFT_API sig_atomic_t octave_interrupt_immediately
CRUFT_API sig_atomic_t octave_interrupt_state
CRUFT_API sig_atomic_t octave_exception_state
CRUFT_API volatile sig_atomic_t octave_signal_caught

Define Documentation

#define BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE_1

Value:

do \
    { \
      octave_jmp_buf saved_context; \
 \
      octave_save_current_context (saved_context); \
 \
      if (octave_set_current_context) \
        { \
          octave_restore_current_context (saved_context)

#define BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE_2

Value:

#define END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE

Value:

octave_interrupt_immediately--; \
          octave_restore_current_context (saved_context); \
        } \
    } \
  while (0)

#define OCTAVE_QUIT

Value:

do \
    { \
      if (octave_signal_caught) \
        { \
          octave_signal_caught = 0; \
          octave_handle_signal (); \
        } \
    } \
  while (0)

#define octave_quit_h   1

#define octave_set_current_context   setjmp (current_context)


Typedef Documentation

typedef jmp_buf octave_jmp_buf


Enumeration Type Documentation

Enumerator:
octave_no_exception 
octave_exec_exception 
octave_alloc_exception 


Function Documentation

CRUFT_API void octave_handle_signal ( void   ) 

CRUFT_API void octave_jump_to_enclosing_context ( void   ) 

CRUFT_API void octave_restore_current_context ( void *   ) 

CRUFT_API void octave_restore_signal_mask ( void   ) 

CRUFT_API void octave_rethrow_exception ( void   ) 

CRUFT_API void octave_save_current_context ( void *   ) 

CRUFT_API void octave_save_signal_mask ( void   ) 

CRUFT_API void octave_throw_bad_alloc ( void   ) 

CRUFT_API void octave_throw_execution_exception ( void   ) 

CRUFT_API void octave_throw_interrupt_exception ( void   ) 


Variable Documentation

CRUFT_API sig_atomic_t octave_exception_state

CRUFT_API sig_atomic_t octave_interrupt_immediately

CRUFT_API sig_atomic_t octave_interrupt_state

CRUFT_API volatile sig_atomic_t octave_signal_caught