aboutsummaryrefslogtreecommitdiffstats
path: root/src/visibility.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2014-08-25 14:33:09 +0000
committerWerner Koch <[email protected]>2014-08-25 14:37:46 +0000
commitfc651665010056e6184e8514e5c5436427d7052d (patch)
tree08156e7155986a560c06812748090d64bc654017 /src/visibility.c
parentRemove GnuPG specific code. (diff)
downloadlibgpg-error-fc651665010056e6184e8514e5c5436427d7052d.tar.gz
libgpg-error-fc651665010056e6184e8514e5c5436427d7052d.zip
Replace locking code in estream functions.
* src/posix-lock.c: Add weak program for pthread_mutex_trylock. (_gpgrt_lock_trylock): New. * src/w32-lock.c (_gpgrt_lock_init): Add missing return statement. (_gpgrt_lock_trylock): New. * src/visibility.c (gpgrt_set_syscall_clamp): New. (gpgrt_lock_trylock): New. (gpgrt_vsnprintf): Fix symbol name. * src/init.c (DllMain): Mark unused arg. * src/estream.c: Replace npth mutexes by our own locks. Replace yeild macro by _gpgrt_yield. (pre_syscall_func, post_syscall_func): New. (do_deinit): Clear both new vars. (es_func_fd_read, es_func_fd_write): Call pre and post syscall functions instead of the former SYSCALL macros. (es_func_w32_read, es_func_w32_write): Ditto. (es_func_fd_seek, es_func_w32_seek, es_func_fp_read) (es_func_fp_write, es_func_fp_seek, es_func_fp_destroy): Bracket syscalls with the pre- and post-syscall fucntions. (do_npth_read, do_npth_write): Remove. (_gpgrt_es_init): Remove call to mutex init. It is now statically initialized. (_gpgrt_set_syscall_clamp): New. (es_create): Destroy stream lock on error. (do_close): Destroy stream lock.
Diffstat (limited to 'src/visibility.c')
-rw-r--r--src/visibility.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/src/visibility.c b/src/visibility.c
index 811a5cf..67c5bfd 100644
--- a/src/visibility.c
+++ b/src/visibility.c
@@ -72,6 +72,13 @@ gpg_error_check_version (const char *req_version)
return _gpg_error_check_version (req_version);
}
+
+void
+gpgrt_set_syscall_clamp (void (*pre)(void), void (*post)(void))
+{
+ _gpgrt_set_syscall_clamp (pre, post);
+}
+
gpg_err_code_t
gpgrt_lock_init (gpgrt_lock_t *lockhd)
@@ -86,6 +93,12 @@ gpgrt_lock_lock (gpgrt_lock_t *lockhd)
}
gpg_err_code_t
+gpgrt_lock_trylock (gpgrt_lock_t *lockhd)
+{
+ return _gpgrt_lock_trylock (lockhd);
+}
+
+gpg_err_code_t
gpgrt_lock_unlock (gpgrt_lock_t *lockhd)
{
return _gpgrt_lock_unlock (lockhd);
@@ -634,8 +647,8 @@ gpgrt_snprintf (char *buf, size_t bufsize, const char *format, ...)
}
int
-gpgrt_estream_vsnprintf (char *buf, size_t bufsize,
- const char *format, va_list arg_ptr)
+gpgrt_vsnprintf (char *buf, size_t bufsize,
+ const char *format, va_list arg_ptr)
{
return _gpgrt_estream_vsnprintf (buf, bufsize, format, arg_ptr);
}