Move private req and handle fields to platform headers

And fix other problems introduced with UV_HANDLE_TYPE_MAP and UV_REQ_TYPE_MAP.
This commit is contained in:
Bert Belder 2012-04-05 01:28:24 +02:00
parent f4e7537184
commit 5f38ba1a89
3 changed files with 14 additions and 7 deletions

View File

@ -55,6 +55,9 @@ typedef pthread_rwlock_t uv_rwlock_t;
typedef void* uv_lib_t;
#define UV_DYNAMIC /* empty */
#define UV_HANDLE_TYPE_PRIVATE /* empty */
#define UV_REQ_TYPE_PRIVATE /* empty */
#if __linux__
# define UV_LOOP_PRIVATE_PLATFORM_FIELDS \
/* RB_HEAD(uv__inotify_watchers, uv_fs_event_s) */ \

View File

@ -206,15 +206,21 @@ RB_HEAD(uv_timer_tree_s, uv_timer_s);
/* Counter to keep track of active udp streams */ \
unsigned int active_udp_streams;
#define UV_HANDLE_TYPE_PRIVATE \
UV_ARES_EVENT,
#define UV_REQ_TYPE_PRIVATE \
/* TODO: remove the req suffix */ \
UV_ACCEPT, \
UV_ARES_EVENT_REQ, \
UV_ARES_CLEANUP_REQ, \
UV_FS_EVENT_REQ, \
UV_GETADDRINFO_REQ, \
UV_PROCESS_EXIT, \
UV_PROCESS_CLOSE, \
UV_READ, \
UV_UDP_RECV, \
UV_FS_EVENT_REQ
UV_WAKEUP,
#define UV_REQ_PRIVATE_FIELDS \
union { \

View File

@ -133,11 +133,9 @@ typedef enum {
#undef UV_ERRNO_GEN
#define UV_HANDLE_TYPE_MAP(XX) \
XX(ARES_EVENT, ares_event) \
XX(ARES_TASK, ares_task) \
XX(ASYNC, async) \
XX(CHECK, check) \
XX(FILE, file) \
XX(FS_EVENT, fs_event) \
XX(IDLE, idle) \
XX(NAMED_PIPE, pipe) \
@ -150,11 +148,8 @@ typedef enum {
#define UV_REQ_TYPE_MAP(XX) \
XX(CONNECT, connect) \
XX(ACCEPT, accept) \
XX(READ, read) \
XX(WRITE, write) \
XX(SHUTDOWN, shutdown) \
XX(WAKEUP, wakeup) \
XX(UDP_SEND, udp_send) \
XX(FS, fs) \
XX(WORK, work) \
@ -165,6 +160,8 @@ typedef enum {
#define XX(uc, lc) UV_##uc,
UV_HANDLE_TYPE_MAP(XX)
#undef XX
UV_FILE,
UV_HANDLE_TYPE_PRIVATE
UV_HANDLE_TYPE_MAX
} uv_handle_type;
@ -173,7 +170,7 @@ typedef enum {
#define XX(uc, lc) UV_##uc,
UV_REQ_TYPE_MAP(XX)
#undef XX
UV_REQ_TYPE_PRIVATE,
UV_REQ_TYPE_PRIVATE
UV_REQ_TYPE_MAX
} uv_req_type;
@ -1523,6 +1520,7 @@ struct uv_loop_s {
/* Don't export the private CPP symbols. */
#undef UV_HANDLE_TYPE_PRIVATE
#undef UV_REQ_TYPE_PRIVATE
#undef UV_REQ_PRIVATE_FIELDS
#undef UV_STREAM_PRIVATE_FIELDS