summaryrefslogtreecommitdiff
path: root/source3/include/includes.h
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1997-10-28 14:19:54 +0000
committerAndrew Tridgell <tridge@samba.org>1997-10-28 14:19:54 +0000
commitc9fa24b7a8809a7963f0970cf2dd21f6804e31a4 (patch)
tree4bd06b65991e13b8aac3771f5d27a54b1fdb6505 /source3/include/includes.h
parent7c20ee083f6820a4c8776cefae3e0477f79ea934 (diff)
downloadsamba-c9fa24b7a8809a7963f0970cf2dd21f6804e31a4.tar.gz
samba-c9fa24b7a8809a7963f0970cf2dd21f6804e31a4.tar.bz2
samba-c9fa24b7a8809a7963f0970cf2dd21f6804e31a4.zip
SYSV IPC implementation of fast share modes.
It will try sysv IPC first, then if that fails it will try mmap(), then after that it will try share files. I have defined USE_SYSV_IPC for Linux, Solaris and HPUX at the moment. Probably a lot more could have it defined. In fact, the vast majority of systems support it. Need autoconf again :-) It should actually be faster than the mmap() version, and doesn't need any lock files. This means the problem of the share mem file being on a NFS drive will be gone. (This used to be commit cc8fe0f0629eea9acc39e30d8d76d5890a5b6978)
Diffstat (limited to 'source3/include/includes.h')
-rw-r--r--source3/include/includes.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/source3/include/includes.h b/source3/include/includes.h
index 09c687aed5..91a2ec5c67 100644
--- a/source3/include/includes.h
+++ b/source3/include/includes.h
@@ -214,6 +214,9 @@ Here come some platform specific sections
#include <dirent.h>
#include <string.h>
#include <sys/vfs.h>
+#include <sys/ipc.h>
+#include <sys/sem.h>
+#include <sys/shm.h>
#include <netinet/in.h>
#ifndef NO_ASMSIGNALH
#include <asm/signal.h>
@@ -233,6 +236,7 @@ Here come some platform specific sections
#define HAVE_MEMMOVE
#define USE_SIGPROCMASK
#define USE_WAITPID
+#define USE_SYSV_IPC
#if 0
/* SETFS disabled until we can check on some bug reports */
#if _LINUX_C_LIB_VERSION_MAJOR >= 5
@@ -293,6 +297,9 @@ typedef unsigned short mode_t;
#include <sys/statvfs.h>
#include <sys/filio.h>
#include <sys/sockio.h>
+#include <sys/ipc.h>
+#include <sys/sem.h>
+#include <sys/shm.h>
#include <netinet/in_systm.h>
#include <netinet/tcp.h>
#include <netinet/ip.h>
@@ -317,6 +324,7 @@ extern int innetgr (const char *, const char *, const char *, const char *);
#define USE_STATVFS
#define USE_GETCWD
#define USE_SETSID
+#define USE_SYSV_IPC
#ifndef REPLACE_GETPASS
#define REPLACE_GETPASS
#endif /* REPLACE_GETPASS */
@@ -548,6 +556,9 @@ char *mktemp(char *); /* No standard include */
#include <sys/types.h>
#include <sys/termios.h>
#include <netinet/tcp.h>
+#include <sys/ipc.h>
+#include <sys/sem.h>
+#include <sys/shm.h>
#ifdef HPUX_10_TRUSTED
#include <hpsecurity.h>
#include <prot.h>
@@ -563,6 +574,7 @@ char *mktemp(char *); /* No standard include */
#define USE_GETCWD
#define USE_SETSID
#define USE_SETRES
+#define USE_SYSV_IPC
#define DEFAULT_PRINTING PRINT_HPUX
/* Ken Weiss <krweiss@ucdavis.edu> tells us that SIGCLD_IGNORE is
not good for HPUX */