h/utils.h \
mts/smtp/smtp.h \
sbr/ctype-checked.h \
+ sbr/lock_file.h \
sbr/m_mktemp.h \
thirdparty/jsmn/jsmn.h \
uip/mhfree.h \
*/
int get_term_numcap(char *capability);
-/*
- * Lock open/close routines.
- *
- * The lk[f]opendata() functions are designed to open "data" files (anything
- * not a mail spool file) using the locking mechanism configured for data
- * files. The lk[f]openspool() functions are for opening the mail spool
- * file, which will use the locking algorithm configured for the mail
- * spool.
- *
- * Files opened for reading are locked with a read lock (if possible by
- * the underlying lock mechanism), files opened for writing are locked
- * using an exclusive lock. The int * argument is used to indicate failure
- * to acquire a lock.
- */
-int lkclosedata(int, const char *);
-int lkclosespool(int, const char *);
-int lkfclosedata(FILE *, const char *);
-int lkfclosespool(FILE *, const char *);
-FILE *lkfopendata(const char *, const char *, int *);
-int lkopendata(const char *, int, mode_t, int *);
-FILE *lkfopenspool(const char *, const char *);
-int lkopenspool(const char *, int, mode_t, int *);
int m_atoi (char *);
char *m_backup (const char *);
int m_convert (struct msgs *, char *);
*/
#include <h/mh.h> /* mh internals */
+#include "lock_file.h"
#include <pwd.h> /* structure for getpwuid() results */
void
#include <h/mh.h>
#include <h/signals.h>
+#include "lock_file.h"
void
context_save (void)
#include <h/mh.h>
#include <h/utils.h>
+#include "lock_file.h"
void
#include <h/signals.h>
#include <h/utils.h>
#include <h/mts.h>
+#include "lock_file.h"
#include "m_mktemp.h"
#ifdef HAVE_SYS_TIME_H
--- /dev/null
+/* lock_file.h -- lock and unlock files.
+ *
+ * This code is Copyright (c) 2017, by the authors of nmh. See the
+ * COPYRIGHT file in the root directory of the nmh distribution for
+ * complete copyright information.
+ */
+
+/*
+ * Lock open/close routines.
+ *
+ * The lk[f]opendata() functions are designed to open "data" files (anything
+ * not a mail spool file) using the locking mechanism configured for data
+ * files. The lk[f]openspool() functions are for opening the mail spool
+ * file, which will use the locking algorithm configured for the mail
+ * spool.
+ *
+ * Files opened for reading are locked with a read lock (if possible by
+ * the underlying lock mechanism), files opened for writing are locked
+ * using an exclusive lock. The int * argument is used to indicate failure
+ * to acquire a lock.
+ */
+int lkopendata(const char *file, int access, mode_t mode, int *failed_to_lock);
+int lkopenspool(const char *file, int access, mode_t mode, int *failed_to_lock);
+FILE *lkfopendata(const char *file, const char *mode, int *failed_to_lock);
+FILE *lkfopenspool(const char *file, const char *mode);
+int lkclosedata(int fd, const char *name);
+int lkfclosedata(FILE *f, const char *name);
+int lkclosespool(int fd, const char *name);
+int lkfclosespool(FILE *f, const char *name);
#include <h/oauth.h>
#include <h/utils.h>
+#include "lock_file.h"
#define JSON_TYPE "application/json"
#include <h/mh.h>
#include <h/utils.h>
+#include "lock_file.h"
/*
* static prototypes
#include <h/mh.h>
#include <h/signals.h>
+#include "lock_file.h"
#include "m_mktemp.h"
#include <h/mh.h>
#include <h/tws.h>
#include <h/utils.h>
+#include "../sbr/lock_file.h"
#include "../sbr/m_mktemp.h"
#include <fcntl.h>
#include <utime.h>
#include <h/dropsbr.h>
#include <h/mts.h>
#include <h/tws.h>
+#include "../sbr/lock_file.h"
#include "../sbr/m_mktemp.h"
#ifdef NTOHLSWAP
#include <h/signals.h>
#include <h/tws.h>
#include <h/mts.h>
+#include "../sbr/lock_file.h"
#include "../sbr/m_mktemp.h"
#ifndef TLS_SUPPORT
#include <h/mhparse.h>
#include <h/mhcachesbr.h>
#include <h/utils.h>
+#include "../sbr/lock_file.h"
#include "../sbr/m_mktemp.h"
#ifdef HAVE_SYS_TIME_H
#include <h/mh.h>
#include <h/utils.h>
#include <h/oauth.h>
+#include "../sbr/lock_file.h"
#define MHLOGIN_SWITCHES \
X("user username", 0, USERSW) \
#include <h/mh.h>
#include <h/crawl_folders.h>
#include <h/utils.h>
+#include "../sbr/lock_file.h"
#define NEW_SWITCHES \
X("mode", 1, MODESW) \
#include <h/tws.h>
#include <h/mts.h>
#include <h/utils.h>
+#include "../sbr/lock_file.h"
#include "../sbr/m_mktemp.h"
#include <pwd.h>