view src/lock.h @ 223:ffb1848a39db noffle

[svn] * src/util.c: Improve (correct) error detection when updating timestamp file. * src/content.h, src/content.c: Return Boolean success/fail from Cont_write. Also ensure cont.first isn't polluted in the event of a failed update. * src/client.c,src/control.c,src/fetch.c,src/noffle.c,src/post.c, src/pseudo.c: If Cont_write fails, don't do actions that need it to have worked. Typically, don't update first and last article numbers in group database. * src/server.c: If groupinfo.lastupdate is unreadable or corrupt, spot this and report it and give an explicit error when processing NNTP NEWGROUPS command.
author bears
date Sun, 09 Dec 2001 12:31:57 +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