globus_callback_signal(3) | globus_common | globus_callback_signal(3) |
globus_callback_signal - Globus Callback Signal Handling.
#define GLOBUS_SIGNAL_INTERRUPT
globus_result_t
globus_callback_space_register_signal_handler (int signum,
globus_bool_t persist, globus_callback_func_t callback_func,
void *callback_user_arg, globus_callback_space_t space)
Fire a callback when the specified signal is received. globus_result_t
globus_callback_unregister_signal_handler (int signum,
globus_callback_func_t unregister_callback, void *unreg_arg)
Unregister a signal handling callback. void
globus_callback_add_wakeup_handler (void(*wakeup)(void *), void
*user_arg)
Register a wakeup handler with callback library.
Globus Callback Signal Handling.
Use this to trap interrupts (SIGINT on unix). In the future, this will also map to handle ctrl-C on win32.
Register a wakeup handler with callback library. This is really only needed in non-threaded builds, but for cross builds should be used everywhere that a callback may sleep for an extended period of time.
An example use is for an io poller that sleeps indefinitely on select(). If the callback library receives a signal that it needs to deliver asap, it will call the wakeup handler(s), These wakeup handlers must run as though they were called from a signal handler (don't use any thread utilities). The io poll example will likely write a single byte to a pipe that select() is monitoring.
This handler will not be unregistered until the callback library is deactivated (via common).
Parameters:
Fire a callback when the specified signal is received. Note that there is a tiny delay between the time this call returns and the signal is actually handled by this library. It is likely that, if the signal was received the instant the call returned, it will be lost (this is normally not an issue, since you would call this in your startup code anyway)
Parameters:
Returns:
Unregister a signal handling callback.
Parameters:
Returns:
Generated automatically by Doxygen for globus_common from the source code.
Wed Feb 27 2019 | Version 18.2 |