GNU Octave  4.0.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Macros | Typedefs | Enumerations | Functions | Variables
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.

Macros

#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
 
#define OCTAVE_QUIT
 
#define octave_set_current_context   setjmp (current_context)
 

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_handle_signal (void)
 
CRUFT_API void octave_jump_to_enclosing_context (void) GCC_ATTR_NORETURN
 
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) GCC_ATTR_NORETURN
 
CRUFT_API void octave_throw_execution_exception (void) GCC_ATTR_NORETURN
 
CRUFT_API void octave_throw_interrupt_exception (void) GCC_ATTR_NORETURN
 

Variables

CRUFT_API octave_jmp_buf current_context
 
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
 

Macro Definition Documentation

#define BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE
#define BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE_1
Value:
do \
{ \
octave_jmp_buf saved_context; \
octave_save_current_context (saved_context); \
\
{ \
jmp_buf octave_jmp_buf
Definition: quit.h:56
#define octave_set_current_context
Definition: quit.h:58
CRUFT_API void octave_save_current_context(void *)
Definition: cquit.c:35
CRUFT_API void octave_restore_current_context(void *)
Definition: cquit.c:41

Definition at line 163 of file quit.h.

#define BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE_2
Value:
} \
else \
{ \
CRUFT_API sig_atomic_t octave_interrupt_immediately
Definition: cquit.c:78

Definition at line 174 of file quit.h.

#define END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE
#define OCTAVE_QUIT
#define octave_set_current_context   setjmp (current_context)

Definition at line 58 of file quit.h.

Typedef Documentation

typedef jmp_buf octave_jmp_buf

Definition at line 56 of file quit.h.

Enumeration Type Documentation

Enumerator
octave_no_exception 
octave_exec_exception 
octave_alloc_exception 

Definition at line 86 of file quit.h.

Function Documentation

CRUFT_API void octave_handle_signal ( void  )
CRUFT_API void octave_jump_to_enclosing_context ( void  )

Definition at line 47 of file cquit.c.

References current_context.

Referenced by F77_FUNC(), and user_abort().

CRUFT_API void octave_restore_current_context ( void *  )

Definition at line 41 of file cquit.c.

References current_context.

CRUFT_API void octave_restore_signal_mask ( void  )

Definition at line 73 of file cquit.c.

References octave_signal_mask.

Referenced by recover_from_exception().

CRUFT_API void octave_rethrow_exception ( void  )
CRUFT_API void octave_save_current_context ( void *  )

Definition at line 35 of file cquit.c.

References current_context.

CRUFT_API void octave_save_signal_mask ( void  )

Definition at line 67 of file cquit.c.

References octave_signal_mask.

Referenced by execute_command_line_file(), execute_eval_option_code(), and main_loop().

CRUFT_API void octave_throw_bad_alloc ( void  )

Definition at line 71 of file quit.cc.

References octave_alloc_exception, octave_bad_alloc_hook, and octave_exception_state.

Referenced by octave_rethrow_exception().

CRUFT_API void octave_throw_execution_exception ( void  )
CRUFT_API void octave_throw_interrupt_exception ( void  )

Definition at line 52 of file quit.cc.

References octave_interrupt_hook.

Referenced by Fdbquit(), Fquit(), octave_handle_signal(), and octave_rethrow_exception().

Variable Documentation

CRUFT_API octave_jmp_buf current_context
CRUFT_API sig_atomic_t octave_exception_state
CRUFT_API sig_atomic_t octave_interrupt_immediately

Definition at line 78 of file cquit.c.

Referenced by recover_from_exception(), and user_abort().

CRUFT_API sig_atomic_t octave_interrupt_state
CRUFT_API volatile sig_atomic_t octave_signal_caught

Definition at line 84 of file cquit.c.

Referenced by recover_from_exception(), and user_abort().