GNU Octave  3.8.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:
This graph shows which files directly or indirectly include this file:

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_restore_current_context (saved_context)

Definition at line 163 of file quit.h.

#define BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE_2
Value:
} \
else \
{ \
octave_interrupt_immediately++

Definition at line 174 of file quit.h.

#define END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE
#define OCTAVE_QUIT
Value:
do \
{ \
{ \
octave_signal_caught = 0; \
octave_handle_signal (); \
} \
} \
while (0)

Definition at line 130 of file quit.h.

Referenced by calc_degrees(), DEFUN_DLD(), octave_base_lexer::fatal_error(), filter(), find_nonzero_elem_idx(), find_starting_node(), Fquadcc(), Fqz(), Fwaitfor(), regexp::match(), regexp::replace(), and transpose().

#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().