Go to the documentation of this file.
90 unsigned long previous = InterlockedExchange(
91 (
volatile LONG*) &
handle->pending_signum, signum);
116 case CTRL_BREAK_EVENT:
119 case CTRL_CLOSE_EVENT:
130 case CTRL_LOGOFF_EVENT:
131 case CTRL_SHUTDOWN_EVENT:
144 handle->pending_signum = 0;
165 assert(removed_handle ==
handle);
193 if (signum <= 0 || signum >=
NSIG)
200 if (signum ==
handle->signum) {
206 if (
handle->signum != 0) {
231 long dispatched_signum;
233 assert(
handle->type == UV_SIGNAL);
234 assert(
req->type == UV_SIGNAL_REQ);
236 dispatched_signum = InterlockedExchange(
237 (
volatile LONG*) &
handle->pending_signum, 0);
238 assert(dispatched_signum != 0);
243 if (dispatched_signum ==
handle->signum)
251 assert(
handle->signum == 0);
261 if (
handle->pending_signum == 0) {
271 assert(
handle->signum == 0);
272 assert(
handle->pending_signum == 0);
void uv_process_signal_req(uv_loop_t *loop, uv_signal_t *handle, uv_req_t *req)
void(* uv_signal_cb)(uv_signal_t *handle, int signum)
RB_HEAD(uv_signal_tree_s, uv_signal_s)
#define RB_REMOVE(name, x, y)
#define POST_COMPLETION_FOR_REQ(loop, req)
@ UV_SIGNAL_ONE_SHOT_DISPATCHED
#define uv__handle_close(handle)
int uv_signal_stop(uv_signal_t *handle)
static INLINE void uv_want_endgame(uv_loop_t *loop, uv_handle_t *handle)
#define uv__handle_closing(handle)
void uv_signal_endgame(uv_loop_t *loop, uv_signal_t *handle)
#define RB_NFIND(name, x, y)
static BOOL WINAPI uv__signal_control_handler(DWORD type)
static struct uv_signal_tree_s uv__signal_tree
#define RB_NEXT(name, x, y)
int uv_signal_start_oneshot(uv_signal_t *handle, uv_signal_cb signal_cb, int signum)
void uv_signals_init(void)
static void signal_cb(uv_signal_t *signal, int signum)
#define RB_INSERT(name, x, y)
int uv_signal_start(uv_signal_t *handle, uv_signal_cb signal_cb, int signum)
_W64 unsigned int uintptr_t
static CRITICAL_SECTION uv__signal_lock
#define uv__handle_init(loop_, h, type_)
#define UV_REQ_INIT(req, typ)
int uv__signal_start(uv_signal_t *handle, uv_signal_cb signal_cb, int signum, int oneshot)
int uv__signal_dispatch(int signum)
void uv_signal_close(uv_loop_t *loop, uv_signal_t *handle)
static bool lookup(const upb_table *t, lookupkey_t key, upb_value *v, uint32_t hash, eqlfunc_t *eql)
int uv_signal_init(uv_loop_t *loop, uv_signal_t *handle)
#define uv__handle_start(h)
#define uv__handle_stop(h)
#define RB_INITIALIZER(root)
RB_GENERATE_STATIC(uv__signal_tree_s, uv_signal_s, tree_entry, uv__signal_compare)
static int uv__signal_compare(uv_signal_t *w1, uv_signal_t *w2)
grpc
Author(s):
autogenerated on Fri May 16 2025 03:00:12