GNU Octave  4.2.1
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 "octave-config.h"
#include <setjmp.h>
#include <signal.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 = 3, octave_quit_exception = 4 }
 

Functions

OCTAVE_API void octave_handle_signal (void)
 
OCTAVE_NORETURN OCTAVE_API void octave_jump_to_enclosing_context (void)
 
OCTAVE_API void octave_restore_current_context (void *)
 
OCTAVE_API void octave_rethrow_exception (void)
 
OCTAVE_API void octave_save_current_context (void *)
 
OCTAVE_NORETURN OCTAVE_API void octave_throw_bad_alloc (void)
 
OCTAVE_NORETURN OCTAVE_API void octave_throw_execution_exception (void)
 
OCTAVE_NORETURN OCTAVE_API void octave_throw_interrupt_exception (void)
 

Variables

OCTAVE_API octave_jmp_buf current_context
 
OCTAVE_API sig_atomic_t octave_exception_state
 
OCTAVE_API sig_atomic_t octave_exit_exception_safe_to_return
 
OCTAVE_API sig_atomic_t octave_exit_exception_status
 
OCTAVE_API sig_atomic_t octave_interrupt_immediately
 
OCTAVE_API sig_atomic_t octave_interrupt_state
 
OCTAVE_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_API void octave_save_current_context(void *)
Definition: cquit.c:35
jmp_buf octave_jmp_buf
Definition: quit.h:47
#define octave_set_current_context
Definition: quit.h:49
if(nargin< 2) print_usage()
Definition: cellfun.cc:405
OCTAVE_API void octave_restore_current_context(void *)
Definition: cquit.c:41

Definition at line 245 of file quit.h.

#define BEGIN_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE_2
Value:
} \
{ \
OCTAVE_API sig_atomic_t octave_interrupt_immediately
Definition: cquit.c:56
else
Definition: cellfun.cc:437

Definition at line 256 of file quit.h.

#define END_INTERRUPT_IMMEDIATELY_IN_FOREIGN_CODE
#define OCTAVE_QUIT
Value:
do \
{ \
{ \
} \
} \
while (0)
while(ischar(s=fgets(fid))) fputs(stdout
OCTAVE_API void octave_handle_signal(void)
Definition: quit.cc:39
if(nargin< 2) print_usage()
Definition: cellfun.cc:405
OCTAVE_API volatile sig_atomic_t octave_signal_caught
Definition: cquit.c:66

Definition at line 212 of file quit.h.

Referenced by calc_degrees(), F__dsearchn__(), filter(), find_nonzero_elem_idx(), find_starting_node(), Gsymrcm(), octave::regexp::match(), read_images(), read_indexed_images(), octave::regexp::replace(), transpose(), and while().

#define octave_set_current_context   setjmp (current_context)

Definition at line 49 of file quit.h.

Typedef Documentation

typedef jmp_buf octave_jmp_buf

Definition at line 47 of file quit.h.

Enumeration Type Documentation

Enumerator
octave_no_exception 
octave_exec_exception 
octave_alloc_exception 
octave_quit_exception 

Definition at line 159 of file quit.h.

Function Documentation

OCTAVE_API void octave_handle_signal ( void  )
OCTAVE_NORETURN OCTAVE_API void octave_jump_to_enclosing_context ( void  )

Definition at line 47 of file cquit.c.

References current_context.

Referenced by octave::posix_interrupt_manager::do_jump_to_enclosing_context(), and F77_FUNC().

OCTAVE_API void octave_restore_current_context ( void *  )

Definition at line 41 of file cquit.c.

References current_context.

OCTAVE_API void octave_rethrow_exception ( void  )
OCTAVE_API void octave_save_current_context ( void *  )

Definition at line 35 of file cquit.c.

References current_context.

OCTAVE_NORETURN OCTAVE_API void octave_throw_bad_alloc ( void  )

Definition at line 79 of file quit.cc.

References octave_alloc_exception, octave_bad_alloc_hook, and octave_exception_state.

Referenced by octave_rethrow_exception().

OCTAVE_NORETURN OCTAVE_API void octave_throw_execution_exception ( void  )
OCTAVE_NORETURN OCTAVE_API void octave_throw_interrupt_exception ( void  )

Definition at line 60 of file quit.cc.

References octave_interrupt_hook.

Referenced by octave_handle_signal(), and octave_rethrow_exception().

Variable Documentation

OCTAVE_API octave_jmp_buf current_context
OCTAVE_API sig_atomic_t octave_exception_state
OCTAVE_API sig_atomic_t octave_exit_exception_safe_to_return

Definition at line 64 of file cquit.c.

Referenced by octave_rethrow_exception().

OCTAVE_API sig_atomic_t octave_exit_exception_status

Definition at line 62 of file cquit.c.

Referenced by octave_rethrow_exception().

OCTAVE_API sig_atomic_t octave_interrupt_immediately

Definition at line 56 of file cquit.c.

Referenced by recover_from_exception(), and octave::user_abort().

OCTAVE_API sig_atomic_t octave_interrupt_state
OCTAVE_API volatile sig_atomic_t octave_signal_caught