view src/lock.h @ 183:c912e8288164 noffle

[svn] * src/client.c: Only bail out of fetching multiple articles if the connection fails. If we do get a status from the upstream server note it and see what is reported for the next article. Otherwise failure to retrieve one article will cause all successive article fetches to fail even through they would succeed if tried. * src/lock.c: Fix assert in lazy locking. If another noffle signalled us to release the lock at the next close, and then repeats the signal so that it arrives during LOCK_closeDatabases, the signal handler was trying to close the databases again.
author bears
date Tue, 15 May 2001 13:07:53 +0100
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