diff options
author | Werner Koch <[email protected]> | 2017-11-29 19:22:06 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2017-11-29 19:22:06 +0000 |
commit | adc786d034b63176b941a1ef8d996acbf8d0ea5d (patch) | |
tree | b19d82491cc7666f18cb44d2f7458f2f28fbe936 /src/w32-thread.c | |
parent | core: Implement the spawn functions. (diff) | |
download | libgpg-error-adc786d034b63176b941a1ef8d996acbf8d0ea5d.tar.gz libgpg-error-adc786d034b63176b941a1ef8d996acbf8d0ea5d.zip |
core: Unify syscall_clamp functions.
* src/estream.c (_gpgrt_set_syscall_clamp)
(_gpgrt_get_syscall_clamp): Move to ...
* src/syscall-clamp.c: new file.
(_gpgrt_pre_syscall, _gpgrt_post_syscall): New.
* src/Makefile.am (libgpg_error_la_SOURCES): Add that file.
* src/estream.c: Replace the syscall wrapper with the new functions.
* src/posix-lock.c: Ditto.
* src/w32-lock.c: Ditto.
* src/posix-thread.c: Ditto.
* src/w32-thread.c: Ditto.
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'src/w32-thread.c')
-rw-r--r-- | src/w32-thread.c | 26 |
1 files changed, 3 insertions, 23 deletions
diff --git a/src/w32-thread.c b/src/w32-thread.c index aef421f..c389635 100644 --- a/src/w32-thread.c +++ b/src/w32-thread.c @@ -29,38 +29,18 @@ #include <stdio.h> #include <string.h> #include <errno.h> -#include <gpg-error.h> #define WIN32_LEAN_AND_MEAN #include <windows.h> +#include "gpgrt-int.h" #include "thread.h" -/* - * Functions called before and after blocking syscalls. - * gpgrt_set_syscall_clamp is used to set them. - */ -static void (*pre_syscall_func)(void); -static void (*post_syscall_func)(void); - - -/* Helper to set the clamp functions. This is called as a helper from - * _gpgrt_set_syscall_clamp to keep the function pointers local. */ -void -_gpgrt_thread_set_syscall_clamp (void (*pre)(void), void (*post)(void)) -{ - pre_syscall_func = pre; - post_syscall_func = post; -} - - gpg_err_code_t _gpgrt_yield (void) { - if (pre_syscall_func) - pre_syscall_func (); + _gpgrt_pre_syscall (); Sleep (0); - if (post_syscall_func) - post_syscall_func (); + _gpgrt_post_syscall (); return 0; } |