
This is a workaround against an ancien, but still unsolved issue in OpenBSD.
Apply if you intend to use per-user limits.


--- pure-ftpd-1.0.18/src/ftpwho-update.c.orig	Sat Mar  6 21:32:18 2004
+++ pure-ftpd-1.0.18/src/ftpwho-update.c	Sat Mar  6 21:33:39 2004
@@ -61,6 +61,9 @@
 
 void ftpwho_unlock(void) 
 {
+#if defined(__OpenBSD__) || defined(__ekkoBSD__)
+    (void) msync(shm_data_cur, NULL, MS_ASYNC);
+#endif
     lock.l_type = F_UNLCK;
     while (fcntl(mmap_fd, F_SETLK, &lock) < 0) {
         if (errno != EINTR) {
