]> git.sur5r.net Git - openldap/commitdiff
Macros for file locking/unlocking added (ldap_lockf/ldap_unlockf)
authorBen Collins <bcollins@openldap.org>
Sat, 13 Mar 1999 20:31:55 +0000 (20:31 +0000)
committerBen Collins <bcollins@openldap.org>
Sat, 13 Mar 1999 20:31:55 +0000 (20:31 +0000)
include/ac/unistd.h

index 4c2d4ebd73b4d1eb198c4eafabc5f1fe4c48e5c2..8b9c98c7738966742adb70fc60d5f71d23e95bc7 100644 (file)
@@ -54,4 +54,23 @@ extern char* getpass LDAP_P((const char *getpass));
 
 /* use _POSIX_VERSION for POSIX.1 code */
 
+/* Setup file locking macros */
+#if HAVE_LOCKF
+#      define ldap_lockf(x) lockf(fileno(x),F_LOCK, 0)
+#      define ldap_unlockf(x) lockf(fileno(x),F_ULOCK, 0)
+#elif HAVE_FCNTL_H
+#      ifndef  NEED_FCNTL_LOCKING
+#              define NEED_FCNTL_LOCKING
+#      endif
+#      include <lutil_lockf.h>
+#      define ldap_lockf(x) lutil_ldap_lockf(x)
+#      define ldap_unlockf(x) lutil_ldap_unlockf(x)
+#elif HAVE_FLOCK
+#      if HAVE_SYS_FILE_H
+#              include <sys/file.h>
+#      endif
+#      define ldap_lockf(x) flock(fileno(x),LOCK_EX)
+#      define ldap_unlockf(x) flock(fileno(x),LOCK_UN)
+#endif
+
 #endif /* _AC_UNISTD_H */