|
hoshi-lang dev
Yet another programming language
|


Go to the source code of this file.
Classes | |
| struct | YoiVoidIntCallableInterface |
| struct | runtime_signal_handler_info |
Macros | |
| #define | LIBSIG_INTERNAL_ALRM SIGALRM |
| #define | LIBSIG_INTERNAL_KILL SIGKILL |
| #define | LIBSIG_EXPORT extern "C" |
| #define | LIBSIG_SUCCESS 0 |
| #define | LIBSIG_ERR_REGISTER_FAIL -1 |
| #define | LIBSIG_ERR_UNSUPPORTED -2 |
| #define | LIBSIG_ERR_CANT_CATCH_KILL -3 |
| #define | LIBSIG_ERR_RAISE_FAIL -4 |
| #define | HS_SIGINT SIGINT |
| #define | HS_SIGTERM SIGTERM |
| #define | HS_SIGALRM LIBSIG_INTERNAL_ALRM |
| #define | HS_SIGKILL LIBSIG_INTERNAL_KILL |
| #define | HANDLER_TYPE_SIGINT 0 |
| #define | HANDLER_TYPE_SIGTERM 1 |
| #define | HANDLER_TYPE_SIGALRM 2 |
Typedefs | |
| typedef void(* | runtime_signal_handler_bare_t) (int signum) |
| typedef void(* | runtime_signal_handler_t) (YoiObject *self, YoiIntegerObject *signum) |
Functions | |
| void | runtime_signal_handler (int signum) |
| LIBSIG_EXPORT void | runtime_signal_init () |
| LIBSIG_EXPORT YoiIntegerObject * | runtime_signal_register (YoiIntegerObject *signum, YoiVoidIntCallableInterface *handler) |
| LIBSIG_EXPORT int | runtime_signal_alarm (unsigned int seconds) |
| LIBSIG_EXPORT int | runtime_signal_raise (int signum) |
| LIBSIG_EXPORT int | runtime_signal_default (int signum) |
| LIBSIG_EXPORT int | runtime_signal_ignore (int signum) |
Variables | |
| runtime_signal_handler_info * | runtime_signal_handlers [3] |
| #define HS_SIGALRM LIBSIG_INTERNAL_ALRM |
| #define HS_SIGKILL LIBSIG_INTERNAL_KILL |
| typedef void(* runtime_signal_handler_t) (YoiObject *self, YoiIntegerObject *signum) |
| LIBSIG_EXPORT int runtime_signal_alarm | ( | unsigned int | seconds | ) |
Definition at line 79 of file signal.cpp.
References LIBSIG_ERR_UNSUPPORTED.
| LIBSIG_EXPORT int runtime_signal_default | ( | int | signum | ) |
Definition at line 144 of file signal.cpp.
References YoiVoidIntCallableInterface::gc_dec_func, HANDLER_TYPE_SIGALRM, HS_SIGALRM, HS_SIGKILL, LIBSIG_ERR_CANT_CATCH_KILL, LIBSIG_SUCCESS, runtime_signal_handler_info::next, runtime_finalize_object(), runtime_signal_handlers, and runtime_signal_handler_info::self.

| void runtime_signal_handler | ( | int | signum | ) |
Definition at line 193 of file signal.cpp.
References YoiIntegerObject::gc_refcount, HANDLER_TYPE_SIGALRM, HANDLER_TYPE_SIGINT, HANDLER_TYPE_SIGTERM, HS_SIGALRM, HS_SIGINT, HS_SIGTERM, runtime_signal_handler_info::next, runtime_object_alloc(), runtime_signal_handlers, YoiIntegerObject::type_id, and YoiIntegerObject::value.
Referenced by runtime_signal_init().


| LIBSIG_EXPORT int runtime_signal_ignore | ( | int | signum | ) |
Definition at line 177 of file signal.cpp.
References HS_SIGALRM, HS_SIGKILL, LIBSIG_ERR_CANT_CATCH_KILL, LIBSIG_ERR_REGISTER_FAIL, and LIBSIG_SUCCESS.
| LIBSIG_EXPORT void runtime_signal_init | ( | ) |
Definition at line 220 of file signal.cpp.
References LIBSIG_INTERNAL_ALRM, LIBSIG_INTERNAL_KILL, and runtime_signal_handler().

| LIBSIG_EXPORT int runtime_signal_raise | ( | int | signum | ) |
Definition at line 113 of file signal.cpp.
References HS_SIGALRM, HS_SIGKILL, LIBSIG_ERR_RAISE_FAIL, and LIBSIG_SUCCESS.
| LIBSIG_EXPORT YoiIntegerObject * runtime_signal_register | ( | YoiIntegerObject * | signum, |
| YoiVoidIntCallableInterface * | handler | ||
| ) |
Definition at line 34 of file signal.cpp.
References YoiIntegerObject::gc_refcount, HANDLER_TYPE_SIGALRM, HANDLER_TYPE_SIGINT, HANDLER_TYPE_SIGTERM, HS_SIGALRM, HS_SIGINT, HS_SIGKILL, HS_SIGTERM, LIBSIG_ERR_CANT_CATCH_KILL, LIBSIG_ERR_UNSUPPORTED, LIBSIG_SUCCESS, runtime_signal_handler_info::next, runtime_object_alloc(), runtime_signal_handlers, runtime_signal_handler_info::self, YoiIntegerObject::type_id, and YoiIntegerObject::value.

|
extern |
Definition at line 5 of file signal.cpp.
Referenced by runtime_signal_default(), runtime_signal_handler(), and runtime_signal_register().