Skip to content
Snippets Groups Projects
Commit 831e8c8e authored by dmitriy.gerasimov's avatar dmitriy.gerasimov
Browse files

Merge branch 'features-3707' into 'master'

features-3707

See merge request !43
parents 48f8246d e5200a4a
No related branches found
No related tags found
1 merge request!43features-3707
...@@ -100,7 +100,7 @@ endif() ...@@ -100,7 +100,7 @@ endif()
if(ANDROID) if(ANDROID)
add_subdirectory(src/android) add_subdirectory(src/android)
target_link_libraries(${PROJECT_NAME} dap_core_android) target_link_libraries(${PROJECT_NAME} dap_core_android rt)
endif() endif()
if (WIN32) if (WIN32)
......
...@@ -827,7 +827,7 @@ static int s_timer_find(void *a_timer) ...@@ -827,7 +827,7 @@ static int s_timer_find(void *a_timer)
static void CALLBACK s_win_callback(PVOID a_arg, BOOLEAN a_always_true) static void CALLBACK s_win_callback(PVOID a_arg, BOOLEAN a_always_true)
{ {
UNUSED(a_always_true); UNUSED(a_always_true);
s_timers[(int)a_arg].callback(s_timers[(int)a_arg].param); s_timers[(size_t)a_arg].callback(s_timers[(size_t)a_arg].param);
} }
#else #else
static void s_posix_callback(union sigval a_arg) static void s_posix_callback(union sigval a_arg)
...@@ -847,16 +847,16 @@ void *dap_interval_timer_create(unsigned int a_msec, dap_timer_callback_t a_call ...@@ -847,16 +847,16 @@ void *dap_interval_timer_create(unsigned int a_msec, dap_timer_callback_t a_call
if (s_timers_count == DAP_INTERVAL_TIMERS_MAX) { if (s_timers_count == DAP_INTERVAL_TIMERS_MAX) {
return NULL; return NULL;
} }
#ifdef _WIN32 #ifdef WIN32
if (s_timers_count == 0) { if (s_timers_count == 0) {
InitializeCriticalSection(&s_timers_lock); InitializeCriticalSection(&s_timers_lock);
} }
HANDLE l_timer; HANDLE l_timer;
if (!CreateTimerQueueTimer(&l_timer, NULL, (WAITORTIMERCALLBACK)s_win_callback, (PVOID)s_timers_count, a_msec, a_msec, 0)) { if (!CreateTimerQueueTimer(&l_timer, NULL, (WAITORTIMERCALLBACK)s_win_callback, (PVOID)(size_t)s_timers_count, a_msec, a_msec, 0)) {
return NULL; return NULL;
} }
EnterCriticalSection(&s_timers_lock); EnterCriticalSection(&s_timers_lock);
#else #elif DAP_OS_UNIX
if (s_timers_count == 0) { if (s_timers_count == 0) {
pthread_mutex_init(&s_timers_lock, NULL); pthread_mutex_init(&s_timers_lock, NULL);
} }
...@@ -873,6 +873,8 @@ void *dap_interval_timer_create(unsigned int a_msec, dap_timer_callback_t a_call ...@@ -873,6 +873,8 @@ void *dap_interval_timer_create(unsigned int a_msec, dap_timer_callback_t a_call
l_period.it_interval.tv_nsec = l_period.it_value.tv_nsec = (a_msec % 1000) * 1000000; l_period.it_interval.tv_nsec = l_period.it_value.tv_nsec = (a_msec % 1000) * 1000000;
timer_settime(l_timer, 0, &l_period, NULL); timer_settime(l_timer, 0, &l_period, NULL);
pthread_mutex_lock(&s_timers_lock); pthread_mutex_lock(&s_timers_lock);
#else
//DARWIN
#endif #endif
s_timers[s_timers_count].timer = (void *)l_timer; s_timers[s_timers_count].timer = (void *)l_timer;
s_timers[s_timers_count].callback = a_callback; s_timers[s_timers_count].callback = a_callback;
...@@ -880,8 +882,10 @@ void *dap_interval_timer_create(unsigned int a_msec, dap_timer_callback_t a_call ...@@ -880,8 +882,10 @@ void *dap_interval_timer_create(unsigned int a_msec, dap_timer_callback_t a_call
s_timers_count++; s_timers_count++;
#ifdef _WIN32 #ifdef _WIN32
LeaveCriticalSection(&s_timers_lock); LeaveCriticalSection(&s_timers_lock);
#else #elif DAP_OS_UNIX
pthread_mutex_unlock(&s_timers_lock); pthread_mutex_unlock(&s_timers_lock);
#else
//DARWIN
#endif #endif
return (void *)l_timer; return (void *)l_timer;
} }
...@@ -898,8 +902,10 @@ int dap_interval_timer_delete(void *a_timer) ...@@ -898,8 +902,10 @@ int dap_interval_timer_delete(void *a_timer)
} }
#ifdef _WIN32 #ifdef _WIN32
EnterCriticalSection(&s_timers_lock); EnterCriticalSection(&s_timers_lock);
#else #elif DAP_OS_UNIX
pthread_mutex_lock(&s_timers_lock); pthread_mutex_lock(&s_timers_lock);
#else
//DARWIN
#endif #endif
int l_timer_idx = s_timer_find(a_timer); int l_timer_idx = s_timer_find(a_timer);
if (l_timer_idx == -1) { if (l_timer_idx == -1) {
...@@ -915,10 +921,13 @@ int dap_interval_timer_delete(void *a_timer) ...@@ -915,10 +921,13 @@ int dap_interval_timer_delete(void *a_timer)
DeleteCriticalSection(&s_timers_lock); DeleteCriticalSection(&s_timers_lock);
} }
return !DeleteTimerQueueTimer(NULL, (HANDLE)a_timer, NULL); return !DeleteTimerQueueTimer(NULL, (HANDLE)a_timer, NULL);
#else #elif DAP_OS_UNIX
pthread_mutex_unlock(&s_timers_lock);
if (s_timers_count == 0) { if (s_timers_count == 0) {
pthread_mutex_destroy(&s_timers_lock); pthread_mutex_destroy(&s_timers_lock);
} }
return timer_delete((timer_t)a_timer); return timer_delete((timer_t)a_timer);
#else
//DARWIN
#endif #endif
} }
...@@ -92,7 +92,7 @@ endif() ...@@ -92,7 +92,7 @@ endif()
add_library(${PROJECT_NAME} STATIC ${CRYPTO_SRCS} ${XKCP_SRCS} ${XKCP_SRCS2} ${CRYPTO_HEADERS} ) add_library(${PROJECT_NAME} STATIC ${CRYPTO_SRCS} ${XKCP_SRCS} ${XKCP_SRCS2} ${CRYPTO_HEADERS} )
target_include_directories(dap_crypto PRIVATE src/rand src/iaes src/oaes src/sha3 src/msrln src/defeo_scheme src/sig_bliss src/sig_tesla src/sig_picnic src/sig_dilithium src include) target_include_directories(dap_crypto PRIVATE src/seed src/rand src/iaes src/oaes src/sha3 src/msrln src/defeo_scheme src/sig_bliss src/sig_tesla src/sig_picnic src/sig_dilithium src include)
target_include_directories(dap_crypto INTERFACE src/ src/sha3 include/) target_include_directories(dap_crypto INTERFACE src/ src/sha3 include/)
target_include_directories(dap_crypto PUBLIC target_include_directories(dap_crypto PUBLIC
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment