aboutsummaryrefslogtreecommitdiffstats
path: root/src/ath.c
diff options
context:
space:
mode:
authorMarcus Brinkmann <[email protected]>2009-11-04 18:13:44 +0000
committerMarcus Brinkmann <[email protected]>2009-11-04 18:13:44 +0000
commit49693e8e45ec9233f779e8f1d8a30f54b683c6ff (patch)
tree0492f347800597011ed17cbf9e478bd476e7cfbe /src/ath.c
parentAdjust for changed assuan_register_command. (diff)
downloadgpgme-49693e8e45ec9233f779e8f1d8a30f54b683c6ff.tar.gz
gpgme-49693e8e45ec9233f779e8f1d8a30f54b683c6ff.zip
2009-11-04 Marcus Brinkmann <[email protected]>
* ath.h (ath_self): New prototype. Include <stdint.h> * ath.c, ath-pth.c, ath-pthread.c (ath_self): New function. * debug.h: Rewrite most macros to beautify debug output. (_gpgme_debug_buffer): Remove tagname and tag argument. (_gpgme_debug_frame_begin, _gpgme_debug_frame_end): New prototypes. * debug.c: Include <time.h>. Don't include assuan.h. (frame_nr, FRAME_NR): New thread-specific variable and macro. (debug_init): Do not initialize assuan. Call _gpgme_debug after initialization instead using printf directly. (_gpgme_debug): Do not call debug_init (we now ensure proper initialization by user). Add timestamp and thread/process ID. (_gpgme_debug_buffer): Do not take tagname and tag argument. (_gpgme_debug_frame_begin, _gpgme_debug_frame_end): New functions. * version.c (gpgme_check_version_internal, gpgme_check_version): Fix debug string. Do not initialize assuan. * posix-io.c (get_max_fds): Use 0 not NULL (nicer debug output).
Diffstat (limited to '')
-rw-r--r--src/ath.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/ath.c b/src/ath.c
index dda7c318..afc5530e 100644
--- a/src/ath.c
+++ b/src/ath.c
@@ -42,6 +42,33 @@
#define MUTEX_DESTROYED ((ath_mutex_t) 2)
+#ifdef HAVE_W32_SYSTEM
+#include <windows.h>
+uintptr_t
+ath_self (void)
+{
+ return (uintptr_t) GetCurrentThreadID ();
+}
+#else
+# ifdef __linux
+#include <sys/types.h>
+#include <sys/syscall.h>
+uintptr_t
+ath_self (void)
+{
+ /* Just to catch users who don't use gpgme-pthread. */
+ return (uintptr_t) syscall (SYS_gettid);
+}
+# else
+uintptr_t
+ath_self (void)
+{
+ return (uintptr_t) getpid ();
+}
+# endif
+#endif
+
+
int
ath_mutex_init (ath_mutex_t *lock)
{