[W32] Add a tuning feature
This commit is contained in:
parent
5b57bff96c
commit
419fc378e4
@ -1,3 +1,10 @@
|
|||||||
|
2006-01-26 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
|
* w32-util.c (_gpgme_get_conf_int): New.
|
||||||
|
* posix-util.c (_gpgme_get_conf_int): New.
|
||||||
|
* w32-io.c (get_desired_thread_priority): New.
|
||||||
|
(create_reader, create_writer): Use it here.
|
||||||
|
|
||||||
2006-01-04 Werner Koch <wk@g10code.com>
|
2006-01-04 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
* debug.h (_gpgme_debug_srcname): New. Use it with the debug macros.
|
* debug.h (_gpgme_debug_srcname): New. Use it with the debug macros.
|
||||||
|
@ -72,7 +72,7 @@ extern "C" {
|
|||||||
AM_PATH_GPGME macro) check that this header matches the installed
|
AM_PATH_GPGME macro) check that this header matches the installed
|
||||||
library. Warning: Do not edit the next line. configure will do
|
library. Warning: Do not edit the next line. configure will do
|
||||||
that for you! */
|
that for you! */
|
||||||
#define GPGME_VERSION "1.1.1-cvs1149"
|
#define GPGME_VERSION "1.1.1-cvs1150"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -48,3 +48,10 @@ _gpgme_get_gpgsm_path (void)
|
|||||||
return NULL;
|
return NULL;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* See w32-util.c */
|
||||||
|
int
|
||||||
|
_gpgme_get_conf_int (const char *key, int *value)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
@ -31,6 +31,7 @@
|
|||||||
/*-- {posix,w32}-util.c --*/
|
/*-- {posix,w32}-util.c --*/
|
||||||
const char *_gpgme_get_gpg_path (void);
|
const char *_gpgme_get_gpg_path (void);
|
||||||
const char *_gpgme_get_gpgsm_path (void);
|
const char *_gpgme_get_gpgsm_path (void);
|
||||||
|
int _gpgme_get_conf_int (const char *key, int *value);
|
||||||
|
|
||||||
|
|
||||||
/*-- replacement functions in <funcname>.c --*/
|
/*-- replacement functions in <funcname>.c --*/
|
||||||
|
@ -119,6 +119,23 @@ DEFINE_STATIC_LOCK (writer_table_lock);
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
static int
|
||||||
|
get_desired_thread_priority (void)
|
||||||
|
{
|
||||||
|
int value;
|
||||||
|
|
||||||
|
if (!_gpgme_get_conf_int ("IOThreadPriority", &value))
|
||||||
|
{
|
||||||
|
value = THREAD_PRIORITY_HIGHEST;
|
||||||
|
DEBUG1 ("** Using standard IOThreadPriority of %d\n", value);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
DEBUG1 ("** Configured IOThreadPriority is %d\n", value);
|
||||||
|
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static HANDLE
|
static HANDLE
|
||||||
set_synchronize (HANDLE h)
|
set_synchronize (HANDLE h)
|
||||||
{
|
{
|
||||||
@ -266,7 +283,7 @@ create_reader (HANDLE fd)
|
|||||||
/* We set the priority of the thread higher because we know that
|
/* We set the priority of the thread higher because we know that
|
||||||
it only runs for a short time. This greatly helps to increase
|
it only runs for a short time. This greatly helps to increase
|
||||||
the performance of the I/O. */
|
the performance of the I/O. */
|
||||||
SetThreadPriority (c->thread_hd, THREAD_PRIORITY_HIGHEST);
|
SetThreadPriority (c->thread_hd, get_desired_thread_priority ());
|
||||||
}
|
}
|
||||||
|
|
||||||
return c;
|
return c;
|
||||||
@ -524,7 +541,7 @@ create_writer (HANDLE fd)
|
|||||||
/* We set the priority of the thread higher because we know that
|
/* We set the priority of the thread higher because we know that
|
||||||
it only runs for a short time. This greatly helps to increase
|
it only runs for a short time. This greatly helps to increase
|
||||||
the performance of the I/O. */
|
the performance of the I/O. */
|
||||||
SetThreadPriority (c->thread_hd, THREAD_PRIORITY_HIGHEST);
|
SetThreadPriority (c->thread_hd, get_desired_thread_priority ());
|
||||||
}
|
}
|
||||||
|
|
||||||
return c;
|
return c;
|
||||||
|
@ -265,7 +265,6 @@ find_program_at_standard_place (const char *name)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
const char *
|
const char *
|
||||||
_gpgme_get_gpg_path (void)
|
_gpgme_get_gpg_path (void)
|
||||||
{
|
{
|
||||||
@ -301,3 +300,18 @@ _gpgme_get_gpgsm_path (void)
|
|||||||
UNLOCK (get_path_lock);
|
UNLOCK (get_path_lock);
|
||||||
return gpgsm_program;
|
return gpgsm_program;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* Return an integer value from gpgme specific configuration
|
||||||
|
entries. VALUE receives that value; function returns true if a value
|
||||||
|
has been configured and false if not. */
|
||||||
|
int
|
||||||
|
_gpgme_get_conf_int (const char *key, int *value)
|
||||||
|
{
|
||||||
|
char *tmp = read_w32_registry_string (NULL, "Software\\GNU\\gpgme", key);
|
||||||
|
if (!tmp)
|
||||||
|
return 0;
|
||||||
|
*value = atoi (tmp);
|
||||||
|
free (tmp);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user