mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
dirmngr: Fix compiler warning.
* common/mischelp.h (JNLIB_GCC_HAVE_PUSH_PRAGMA): New. * dirmngr/dirmngr.c (handle_tick): Factor time check out to ... (time_for_housekeeping_p): new. -- I am not sure whether that y2038 hack is really useful but it might make me smile in my retirement.
This commit is contained in:
parent
b4cf4686f7
commit
db85feceaf
2 changed files with 28 additions and 12 deletions
|
@ -1686,18 +1686,36 @@ housekeeping_thread (void *arg)
|
|||
}
|
||||
|
||||
|
||||
#if JNLIB_GCC_HAVE_PUSH_PRAGMA
|
||||
# pragma GCC push_options
|
||||
# pragma GCC optimize ("no-strict-overflow")
|
||||
#endif
|
||||
static int
|
||||
time_for_housekeeping_p (time_t curtime)
|
||||
{
|
||||
static time_t last_housekeeping;
|
||||
|
||||
if (!last_housekeeping)
|
||||
last_housekeeping = curtime;
|
||||
|
||||
if (last_housekeeping + HOUSEKEEPING_INTERVAL <= curtime
|
||||
|| last_housekeeping > curtime /*(be prepared for y2038)*/)
|
||||
{
|
||||
last_housekeeping = curtime;
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
#if JNLIB_GCC_HAVE_PUSH_PRAGMA
|
||||
# pragma GCC pop_options
|
||||
#endif
|
||||
|
||||
|
||||
/* This is the worker for the ticker. It is called every few seconds
|
||||
and may only do fast operations. */
|
||||
static void
|
||||
handle_tick (void)
|
||||
{
|
||||
static time_t last_housekeeping;
|
||||
time_t curtime;
|
||||
|
||||
curtime = gnupg_get_time ();
|
||||
if (!last_housekeeping)
|
||||
last_housekeeping = curtime;
|
||||
|
||||
/* Under Windows we don't use signals and need a way for the loop to
|
||||
check for the shutdown flag. */
|
||||
#ifdef HAVE_W32_SYSTEM
|
||||
|
@ -1712,16 +1730,12 @@ handle_tick (void)
|
|||
}
|
||||
#endif /*HAVE_W32_SYSTEM*/
|
||||
|
||||
/* Start a housekeeping thread every 10 minutes */
|
||||
if (last_housekeeping + HOUSEKEEPING_INTERVAL <= curtime
|
||||
|| last_housekeeping > curtime /*(be prepared for y2038)*/)
|
||||
if (time_for_housekeeping_p (gnupg_get_time ()))
|
||||
{
|
||||
npth_t thread;
|
||||
npth_attr_t tattr;
|
||||
int err;
|
||||
|
||||
last_housekeeping = curtime;
|
||||
|
||||
err = npth_attr_init (&tattr);
|
||||
if (err)
|
||||
log_error ("error preparing housekeeping thread: %s\n", strerror (err));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue