archie/prospero/lib/ardp/flocks.h
2024-05-27 16:13:40 +02:00

29 lines
703 B
C

#ifndef rmg_filelock_h
#define rmg_filelock_h
#include <pfs.h>
struct filelock {
#ifdef ALLOCATOR_CONSISTENCY_CHECK
int consistency;
#endif
char *name;
int readers; /* -1 for writing */
/* Note we dont keep the fileno here since each locker opens seperately*/
struct filelock *next;
struct filelock *previous;
};
typedef struct filelock *FILELOCK;
typedef struct filelock FILELOCK_ST;
extern FILELOCK filelock_alloc();
extern void filelock_free(FILELOCK chan);
extern void filelock_lfree(FILELOCK chan);
extern void filelock_freespares();
extern FILELOCK filelock_copy(FILELOCK f, int r);
#ifdef PFS_THREADS
extern p_th_mutex p_th_mutexFILELOCK;
#endif
#endif /*rmg_filelock_h*/