diff --git a/CMakeLists.txt b/CMakeLists.txt index 241e576efd0d1108735b74ba11daf0f9ae5d97ce..0d963b9c61e698825cf7d1936bd9c2f371493727 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,7 +2,7 @@ project(cellframe-sdk C) cmake_minimum_required(VERSION 3.0) set(CMAKE_C_STANDARD 11) -set(CELLFRAME_SDK_NATIVE_VERSION "2.9-3") +set(CELLFRAME_SDK_NATIVE_VERSION "2.9-4") add_definitions ("-DCELLFRAME_SDK_VERSION=\"${CELLFRAME_SDK_NATIVE_VERSION}\"") set(DAPSDK_MODULES "") message("Cellframe modules: ${CELLFRAME_MODULES}") diff --git a/dap-sdk/net/core/dap_timerfd.c b/dap-sdk/net/core/dap_timerfd.c index 081f2bd2b26d803084074cb2d351e94e0325c98c..44c26c61fe405ff1ea42f2225b91e3ec55ad2ba2 100644 --- a/dap-sdk/net/core/dap_timerfd.c +++ b/dap-sdk/net/core/dap_timerfd.c @@ -243,9 +243,10 @@ static void s_es_callback_timer(struct dap_events_socket *a_event_sock) log_it(L_WARNING, "callback_timerfd_read() failed: timerfd_settime() errno=%d\n", errno); } #elif defined (DAP_OS_BSD) - struct kevent * l_event = &a_event_sock->kqueue_event; - EV_SET(l_event, 0, a_event_sock->kqueue_base_filter, a_event_sock->kqueue_base_flags,a_event_sock->kqueue_base_fflags,a_event_sock->kqueue_data,a_event_sock); - kevent(a_event_sock->worker->kqueue_fd,l_event,1,NULL,0,NULL); + dap_worker_add_events_socket_unsafe(a_event_sock,a_event_sock->worker); + //struct kevent * l_event = &a_event_sock->kqueue_event; + //EV_SET(l_event, 0, a_event_sock->kqueue_base_filter, a_event_sock->kqueue_base_flags,a_event_sock->kqueue_base_fflags,a_event_sock->kqueue_data,a_event_sock); + //kevent(a_event_sock->worker->kqueue_fd,l_event,1,NULL,0,NULL); #elif defined (DAP_OS_WINDOWS) LARGE_INTEGER l_due_time; l_due_time.QuadPart = (long long)l_timerfd->timeout_ms * _MSEC; diff --git a/dap-sdk/net/core/dap_worker.c b/dap-sdk/net/core/dap_worker.c index a48574c66e66ce8192658c6f1c36124764142d69..f2f9981bfc0a3fc914e8dbba83872b57c51e7ef1 100644 --- a/dap-sdk/net/core/dap_worker.c +++ b/dap-sdk/net/core/dap_worker.c @@ -1130,6 +1130,7 @@ int dap_worker_add_events_socket_unsafe( dap_events_socket_t * a_esocket, dap_wo a_worker->poll_count++; return 0; #elif defined (DAP_EVENTS_CAPS_KQUEUE) + a_esocket->worker = a_worker; if ( a_esocket->type == DESCRIPTOR_TYPE_QUEUE ){ return 0; }