1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-02 22:46:30 +02:00

* query.c (initialize_module_query):

* call-scd.c (initialize_module_call_scd): New.

* w32-pth.c (pth_init): Enable debugging depending on env var.
(pth_self): New.
(pth_mutex_release, pth_mutex_acquire): Implemented directly using
the W32 API.
This commit is contained in:
Werner Koch 2004-12-19 17:44:20 +00:00
parent e73100a940
commit 8f22f895e9
9 changed files with 123 additions and 82 deletions

View file

@ -52,7 +52,7 @@
static ASSUAN_CONTEXT scd_ctx = NULL;
#ifdef USE_GNU_PTH
static pth_mutex_t scd_lock = PTH_MUTEX_INIT;
static pth_mutex_t scd_lock;
#endif
/* We need to keep track of the connection currently using the SCD.
For a pipe server this is all a NOP because the connection will
@ -153,6 +153,23 @@ get_membuf (struct membuf *mb, size_t *len)
/* This function must be called once to initialize this module. This
has to be done before a second thread is spawned. We can't do the
static initialization because Pth emulation code might not be able
to do a static init; in particualr, it is not possible for W32. */
void
initialize_module_call_scd (void)
{
#ifdef USE_GNU_PTH
static int initialized;
if (!initialized)
if (pth_mutex_init (&scd_lock))
initialized = 1;
#endif /*USE_GNU_PTH*/
}
static int
unlock_scd (int rc)
{
@ -163,7 +180,7 @@ unlock_scd (int rc)
if (!rc)
rc = gpg_error (GPG_ERR_INTERNAL);
}
#endif
#endif /*USE_GNU_PTH*/
return rc;
}