}
-void uv__handle_init(uv_loop_t* loop, uv_handle_t* handle,
- uv_handle_type type) {
- loop->counters.handle_init++;
-
- handle->loop = loop;
- handle->type = type;
- handle->flags = UV__HANDLE_REF; /* ref the loop when active */
- handle->next_closing = NULL;
- ngx_queue_insert_tail(&loop->handle_queue, &handle->handle_queue);
-}
-
-
void uv_update_time(uv_loop_t* loop) {
loop->time = uv_hrtime() / 1000000;
}
}
#define uv__handle_unref(h) uv__handle_unref((uv_handle_t*)(h))
+UNUSED static void uv__handle_init(uv_loop_t* loop,
+ uv_handle_t* handle,
+ uv_handle_type type) {
+ loop->counters.handle_init++;
+ handle->loop = loop;
+ handle->type = type;
+ handle->flags = UV__HANDLE_REF; /* ref the loop when active */
+ ngx_queue_insert_tail(&loop->handle_queue, &handle->handle_queue);
+#ifndef _WIN32
+ handle->next_closing = NULL;
+#endif
+}
+
#endif /* UV_COMMON_H_ */
int uv_async_init(uv_loop_t* loop, uv_async_t* handle, uv_async_cb async_cb) {
uv_req_t* req;
- uv_handle_init(loop, (uv_handle_t*) handle);
- handle->type = UV_ASYNC;
+ uv__handle_init(loop, (uv_handle_t*) handle, UV_ASYNC);
handle->async_sent = 0;
handle->async_cb = async_cb;
static void uv_fs_event_init_handle(uv_loop_t* loop, uv_fs_event_t* handle,
const char* filename, uv_fs_event_cb cb) {
- uv_handle_init(loop, (uv_handle_t*) handle);
- handle->type = UV_FS_EVENT;
+ uv__handle_init(loop, (uv_handle_t*) handle, UV_FS_EVENT);
handle->cb = cb;
handle->dir_handle = INVALID_HANDLE_VALUE;
handle->buffer = NULL;
} while (0)
-INLINE static void uv_handle_init(uv_loop_t* loop, uv_handle_t* handle) {
- handle->loop = loop;
- handle->flags = UV__HANDLE_REF;
- ngx_queue_insert_tail(&loop->handle_queue, &handle->handle_queue);
-
- loop->counters.handle_init++;
-}
-
-
INLINE static void uv_want_endgame(uv_loop_t* loop, uv_handle_t* handle) {
if (!(handle->flags & UV_HANDLE_ENDGAME_QUEUED)) {
handle->flags |= UV_HANDLE_ENDGAME_QUEUED;
#define UV_LOOP_WATCHER_DEFINE(name, NAME) \
int uv_##name##_init(uv_loop_t* loop, uv_##name##_t* handle) { \
- uv_handle_init(loop, (uv_handle_t*) handle); \
- handle->type = UV_##NAME; \
+ uv__handle_init(loop, (uv_handle_t*) handle, UV_##NAME); \
loop->counters.name##_init++; \
\
return 0; \
int uv_pipe_init(uv_loop_t* loop, uv_pipe_t* handle, int ipc) {
- uv_stream_init(loop, (uv_stream_t*)handle);
+ uv_stream_init(loop, (uv_stream_t*)handle, UV_NAMED_PIPE);
- handle->type = UV_NAMED_PIPE;
handle->reqs_pending = 0;
handle->handle = INVALID_HANDLE_VALUE;
handle->name = NULL;
socket = base_socket;
}
- uv_handle_init(loop, (uv_handle_t*) handle);
- handle->type = UV_POLL;
+ uv__handle_init(loop, (uv_handle_t*) handle, UV_POLL);
handle->socket = socket;
handle->events = 0;
static void uv_process_init(uv_loop_t* loop, uv_process_t* handle) {
- uv_handle_init(loop, (uv_handle_t*) handle);
- handle->type = UV_PROCESS;
+ uv__handle_init(loop, (uv_handle_t*) handle, UV_PROCESS);
handle->exit_cb = NULL;
handle->pid = 0;
handle->exit_signal = 0;
uv_stream_t* stream = fdopt.data.stream;
/* Leech the handle out of the stream. */
- if (stream->type = UV_TTY) {
+ if (stream->type == UV_TTY) {
stream_handle = ((uv_tty_t*) stream)->handle;
crt_flags = FOPEN | FDEV;
} else if (stream->type == UV_NAMED_PIPE &&
#include "req-inl.h"
-INLINE static void uv_stream_init(uv_loop_t* loop, uv_stream_t* handle) {
- uv_handle_init(loop, (uv_handle_t*) handle);
+INLINE static void uv_stream_init(uv_loop_t* loop,
+ uv_stream_t* handle,
+ uv_handle_type type) {
+ uv__handle_init(loop, (uv_handle_t*) handle, type);
handle->write_queue_size = 0;
handle->activecnt = 0;
int uv_tcp_init(uv_loop_t* loop, uv_tcp_t* handle) {
- uv_stream_init(loop, (uv_stream_t*) handle);
+ uv_stream_init(loop, (uv_stream_t*) handle, UV_TCP);
- handle->type = UV_TCP;
handle->accept_reqs = NULL;
handle->pending_accepts = NULL;
handle->socket = INVALID_SOCKET;
int uv_timer_init(uv_loop_t* loop, uv_timer_t* handle) {
- uv_handle_init(loop, (uv_handle_t*) handle);
- handle->type = UV_TIMER;
+ uv__handle_init(loop, (uv_handle_t*) handle, UV_TIMER);
handle->timer_cb = NULL;
handle->repeat = 0;
LeaveCriticalSection(&uv_tty_output_lock);
}
- uv_stream_init(loop, (uv_stream_t*) tty);
+ uv_stream_init(loop, (uv_stream_t*) tty, UV_TTY);
uv_connection_init((uv_stream_t*) tty);
- tty->type = UV_TTY;
tty->handle = win_handle;
tty->read_line_handle = NULL;
tty->read_line_buffer = uv_null_buf_;
int uv_udp_init(uv_loop_t* loop, uv_udp_t* handle) {
- uv_handle_init(loop, (uv_handle_t*) handle);
+ uv__handle_init(loop, (uv_handle_t*) handle, UV_UDP);
- handle->type = UV_UDP;
handle->socket = INVALID_SOCKET;
handle->reqs_pending = 0;
handle->activecnt = 0;