Main Page | Modules | Alphabetical List | Data Structures | File List | Data Fields | Globals

rubysig.h File Reference

#include <errno.h>

Go to the source code of this file.

Defines

#define ATOMIC_TEST(var)   ((var) ? ((var) = 0, 1) : 0)
#define ATOMIC_SET(var, val)   ((var) = (val))
#define ATOMIC_INC(var)   (++(var))
#define ATOMIC_DEC(var)   (--(var))
#define TRAP_BEG
#define TRAP_END
#define RUBY_CRITICAL(statements)
#define DEFER_INTS   (rb_prohibit_interrupt++)
#define ALLOW_INTS
#define ENABLE_INTS   (rb_prohibit_interrupt--)
#define THREAD_TICK   500
#define CHECK_INTS

Typedefs

typedef int rb_atomic_t

Functions

VALUE rb_with_disable_interrupt (VALUE(*(ANYARGS), VALUE))
void rb_trap_restore_mask (void)
void rb_thread_schedule (void)

Variables

RUBY_EXTERN rb_atomic_t rb_trap_immediate
RUBY_EXTERN int rb_prohibit_interrupt
RUBY_EXTERN rb_atomic_t rb_trap_pending
RUBY_EXTERN int rb_thread_critical
RUBY_EXTERN int rb_thread_tick


Define Documentation

#define ALLOW_INTS
 

Value:

do {\
    rb_prohibit_interrupt--;\
    CHECK_INTS;\
} while (0)

Definition at line 69 of file rubysig.h.

Referenced by rb_load(), rb_singleton_class(), and ruby_init().

#define ATOMIC_DEC var   )     (--(var))
 

Definition at line 46 of file rubysig.h.

#define ATOMIC_INC var   )     (++(var))
 

Definition at line 45 of file rubysig.h.

Referenced by sighandler().

#define ATOMIC_SET var,
val   )     ((var) = (val))
 

Definition at line 44 of file rubysig.h.

Referenced by sighandler().

#define ATOMIC_TEST var   )     ((var) ? ((var) = 0, 1) : 0)
 

Definition at line 43 of file rubysig.h.

Referenced by sighandler().

#define CHECK_INTS
 

Value:

Definition at line 94 of file rubysig.h.

#define DEFER_INTS   (rb_prohibit_interrupt++)
 

Definition at line 68 of file rubysig.h.

Referenced by rb_load(), rb_singleton_class(), and rb_with_disable_interrupt().

#define ENABLE_INTS   (rb_prohibit_interrupt--)
 

Definition at line 73 of file rubysig.h.

Referenced by rb_with_disable_interrupt().

#define RUBY_CRITICAL statements   ) 
 

Value:

do {\
    int trap_immediate = rb_trap_immediate;\
    rb_trap_immediate = 0;\
    statements;\
    rb_trap_immediate = trap_immediate;\
} while (0)

Definition at line 58 of file rubysig.h.

Referenced by add_heap(), obj_free(), rb_gc_call_finalizer_at_exit(), rb_gc_unregister_address(), ruby_xfree(), ruby_xmalloc(), and ruby_xrealloc().

#define THREAD_TICK   500
 

Definition at line 93 of file rubysig.h.

#define TRAP_BEG
 

Value:

do {\
    int saved_errno = 0;\
    int trap_immediate = rb_trap_immediate;\
    rb_trap_immediate = 1

Definition at line 48 of file rubysig.h.

Referenced by appendline(), io_cntl(), io_fflush(), io_fread(), io_fwrite(), io_getpartial(), rb_f_syscall(), rb_getc(), rb_io_each_byte(), rb_io_eof(), rb_io_getc(), rb_io_sysread(), rb_io_syswrite(), rb_thread_flock(), rb_thread_schedule(), rb_thread_select(), rb_thread_sleep(), rb_thread_sleep_forever(), rb_thread_wait_for(), rb_waitpid(), and swallow().

#define TRAP_END
 

Value:

rb_trap_immediate = trap_immediate;\
    saved_errno = errno;\
    CHECK_INTS;\
    errno = saved_errno;\
} while (0)

Definition at line 52 of file rubysig.h.

Referenced by appendline(), io_cntl(), io_fflush(), io_fread(), io_fwrite(), io_getpartial(), rb_f_syscall(), rb_getc(), rb_io_each_byte(), rb_io_eof(), rb_io_getc(), rb_io_sysread(), rb_io_syswrite(), rb_thread_flock(), rb_thread_schedule(), rb_thread_select(), rb_thread_sleep(), rb_thread_sleep_forever(), rb_thread_wait_for(), rb_waitpid(), and swallow().


Typedef Documentation

typedef int rb_atomic_t
 

Definition at line 41 of file rubysig.h.


Function Documentation

void rb_trap_restore_mask void   ) 
 

Definition at line 664 of file signal.c.

References NULL, and trap_last_mask.

Referenced by rb_f_throw(), and rb_longjmp().

VALUE rb_with_disable_interrupt VALUE(*(ANYARGS), VALUE  ) 
 

Referenced by rb_any_cmp().


Variable Documentation

RUBY_EXTERN int rb_prohibit_interrupt
 

Definition at line 67 of file rubysig.h.

RUBY_EXTERN int rb_thread_critical
 

Definition at line 80 of file rubysig.h.

RUBY_EXTERN int rb_thread_tick
 

Definition at line 92 of file rubysig.h.

RUBY_EXTERN rb_atomic_t rb_trap_immediate
 

Definition at line 65 of file rubysig.h.

Referenced by rb_thread_restore_context(), rb_thread_save_context(), rb_thread_switch(), rb_trap_eval(), and sighandler().

RUBY_EXTERN rb_atomic_t rb_trap_pending
 

Definition at line 77 of file rubysig.h.


Generated on Wed Jan 18 23:32:11 2006 for Ruby by doxygen 1.3.5