Mercurial > noffle
view src/lock.h @ 279:49b452b667a6 noffle
[svn] * src/util.c: localTimeDiff() cached its value and recalculated it every
hour of clock time, regardless of the time the calculated was based on.
This is potentially dangerous at daylight saving changes. So instead
use the cached last result only when the new request is to be based on
a time in the same hour as the cached result.
* src/util.c: Replace the alternate Utl_mktimeGMT() implementation used when
timegm() is not available. The previous version, as suggested by the
glibc timegm() man page, used setenv() and unsetenv() for changing the
environment. These aren't POSIX function, and the POSIX putenv()
(a) is tricky to manage if the same var is being constantly update and
memory isn't to leak, and (b) provides no way to remove an environment
entry. So change to an implementation Wget uses. This should compile on
not glibc systems - the previous version failed to build on Solaris.
author | bears |
---|---|
date | Sun, 17 Nov 2002 15:18:19 +0000 |
parents | 8ea6b5ddc5a5 |
children |
line wrap: on
line source
/* lock.h Opening/Closing of the various databases: article overview database, articla database, groups database, outgoing articles database, requests database. Handles global lock. $Id: lock.h 249 2001-01-25 13:38:31Z bears $ */ #ifndef LOCK_H #define LOCK_H #if HAVE_CONFIG_H #include <config.h> #endif #include "common.h" enum LockRequestWait { LOCK_WAIT, LOCK_NOWAIT }; /* Open all databases and set global lock. */ Bool Lock_openDatabases( void ); /* Close all databases and release global lock. */ void Lock_closeDatabases( void ); /* Ensure all databases synced to disc. */ void Lock_syncDatabases( void ); /* Check the global lock held. */ Bool Lock_gotLock( void ); /* Get fetch lock. */ Bool Lock_getFetchLock( enum LockRequestWait wait ); /* Release fetch lock. */ void Lock_releaseFetchLock( void ); /* Check the fetch lock held. */ Bool Lock_fetchLock( void ); #endif