diff --git a/include/epoll.h b/include/epoll.h index e88e7bb..728c598 100644 --- a/include/epoll.h +++ b/include/epoll.h @@ -60,7 +60,8 @@ struct epoll_event { extern "C" { #endif -EPOLL_EXTERN HANDLE epoll_create(void); +EPOLL_EXTERN HANDLE epoll_create(int size); +EPOLL_EXTERN HANDLE epoll_create1(int flags); EPOLL_EXTERN int epoll_close(HANDLE ephnd); diff --git a/src/epoll.c b/src/epoll.c index fd86132..0ed0d61 100644 --- a/src/epoll.c +++ b/src/epoll.c @@ -1,7 +1,6 @@ #include #include -#include "epoll-socket.h" #include "epoll.h" #include "error.h" #include "init.h" @@ -22,7 +21,7 @@ int epoll_global_init(void) { return 0; } -HANDLE epoll_create(void) { +static HANDLE _epoll_create(void) { ep_port_t* port_info; HANDLE ephnd; @@ -43,6 +42,20 @@ HANDLE epoll_create(void) { return ephnd; } +HANDLE epoll_create(int size) { + if (size <= 0) + return_error(INVALID_HANDLE_VALUE, ERROR_INVALID_PARAMETER); + + return _epoll_create(); +} + +HANDLE epoll_create1(int flags) { + if (flags != 0) + return_error(INVALID_HANDLE_VALUE, ERROR_INVALID_PARAMETER); + + return _epoll_create(); +} + int epoll_close(HANDLE ephnd) { reflock_tree_node_t* tree_node; ep_port_t* port_info; diff --git a/test/test-ctl-fuzz.c b/test/test-ctl-fuzz.c index 9866503..165cc14 100644 --- a/test/test-ctl-fuzz.c +++ b/test/test-ctl-fuzz.c @@ -46,7 +46,7 @@ int main(void) { r = init(); assert(r == 0); - epfd = epoll_create(); + epfd = epoll_create1(0); assert(epfd != NULL); for (size_t i = 0; i < NUM_SOCKETS; i++) diff --git a/test/test-multi-poll.c b/test/test-multi-poll.c index c41acec..0a6ff72 100644 --- a/test/test-multi-poll.c +++ b/test/test-multi-poll.c @@ -70,7 +70,7 @@ static unsigned int __stdcall poll_thread(void* arg) { sock = (SOCKET) arg; - epfd = epoll_create(); + epfd = epoll_create1(0); assert(epfd != NULL); ev_in.events = EPOLLIN; diff --git a/test/test-udp-pings.c b/test/test-udp-pings.c index 9b9cf41..ef001cc 100644 --- a/test/test-udp-pings.c +++ b/test/test-udp-pings.c @@ -23,7 +23,7 @@ int main(void) { SOCKET srv; struct epoll_event ev; - epoll_hnd = epoll_create(); + epoll_hnd = epoll_create1(0); assert(epoll_hnd && epoll_hnd != INVALID_HANDLE_VALUE); srv = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);