mbox-lock.c revision 704efd0b34e3611e3decf1d559fe6a93214b0bd0
ea623e25e8d03cb1c28677f418d3dcd5729d09e1Stephan Bosch/* Copyright (C) 2002 Timo Sirainen */
#include <fcntl.h>
#ifdef HAVE_FLOCK
enum mbox_lock_type {
struct mbox_lock_context {
int checked_file;
int lock_type;
int dotlock_last_stale;
struct mbox_lock_data {
const char *name;
#ifdef HAVE_FLOCK
#ifdef HAVE_LOCKF
const char *const *lock;
int i, dest;
for (i = 0; i < dest; i++) {
static void mbox_init_lock_settings(void)
const char *str;
int idx;
return FALSE;
return TRUE;
int ret;
if (ret < 0) {
if (ret == 0) {
#ifdef HAVE_FLOCK
last_notify = 0;
if (max_wait_time == 0)
#ifdef HAVE_LOCKF
last_notify = 0;
if (max_wait_time == 0)
int wait_type;
if (ret <= 0)
return ret;
unsigned int *lock_id_r)
int ret;
if (ret <= 0) {
if (ret == 0) {
return ret;
int ret = 0;
return ret;
for (i = 0; i < MBOX_LOCK_COUNT; i++)