Mercurial > noffle
view src/over.h @ 165:8ea6b5ddc5a5 noffle
[svn] * src/lock.h,src/lock.c,src/noffle.c: Add lazy lock release. Only release
the lock and close the databases if (a) another process signals us
SIGUSR1 indicating it wants the lock, or (b) it is explicitly requested by
a call to new function Lock_syncDatabases(). When waiting for the lock,
SIGUSR1 the holding process every second. This is all an attempt to
minimise the number of times we need to close and open the database.
When (ha!) the database is replaced by something that can handle
multiple simultaneous writers (with appropriate locking) this won't
be necessary.
author | bears |
---|---|
date | Thu, 25 Jan 2001 13:38:31 +0000 (2001-01-25) |
parents | c874bd3c4bb8 |
children | 3477050e8d10 |
line wrap: on
line source
/* over.h Processing of single article overviews. Handling of overview files is in content.c. An article overview contains important article properties, such as date, from, subject. $Id: over.h 79 2000-05-13 15:35:17Z bears $ */ #ifndef OVER_H #define OVER_H #if HAVE_CONFIG_H #include <config.h> #endif #if TIME_WITH_SYS_TIME #include <sys/time.h> #include <time.h> #else #if HAVE_SYS_TIME_H #include <sys/time.h> #else #include <time.h> #endif #endif #include "common.h" struct Over; typedef struct Over Over; /* Usual fields from overview databases. Xref without hostname. */ Over * new_Over( const char *subj, const char *from, const char *date, const char *msgId, const char *ref, size_t bytes, size_t lines ); /* free memory */ void del_Over( Over *self ); /* read Over-struct from line */ Over * Ov_read( char *line ); /* write struct Over to f as a line */ Bool Ov_write( const Over *self, FILE *f ); /* Access particular fields in struct over */ int Ov_numb( const Over *self ); const char * Ov_subj( const Over *self ); const char * Ov_from( const Over *self ); const char * Ov_date( const Over *self ); const char * Ov_msgId( const Over *self ); const char * Ov_ref( const Over *self ); size_t Ov_bytes( const Over *self ); size_t Ov_lines( const Over *self ); void Ov_setNumb( Over *self, int numb ); #endif