a277f5d2d9
even after fixing the latter.
70 lines
1.6 KiB
Plaintext
70 lines
1.6 KiB
Plaintext
$OpenBSD: patch-acinclude_m4,v 1.1 2001/03/17 17:07:10 naddy Exp $
|
|
--- acinclude.m4.orig Sat Mar 17 16:28:41 2001
|
|
+++ acinclude.m4 Sat Mar 17 16:36:54 2001
|
|
@@ -280,3 +280,65 @@ int main ()
|
|
AC_SUBST(AO_LIBS)
|
|
rm -f conf.aotest
|
|
])
|
|
+
|
|
+dnl Shamelessly stolen from Joerg Schilling's star.
|
|
+dnl Copyright 1998 J. Schilling
|
|
+
|
|
+dnl Checks if mmap() works to get shared memory
|
|
+dnl Defines HAVE_SMMAP on success.
|
|
+AC_DEFUN(AC_FUNC_SMMAP,
|
|
+[AC_CACHE_CHECK([if mmap works to get shared memory], ac_cv_func_smmap,
|
|
+ [AC_TRY_RUN([
|
|
+#include <sys/types.h>
|
|
+#include <sys/mman.h>
|
|
+
|
|
+char *
|
|
+mkshare()
|
|
+{
|
|
+ int size = 8192;
|
|
+ int f;
|
|
+ char *addr;
|
|
+
|
|
+ if ((f = open("/dev/zero", 2)) < 0)
|
|
+ exit(1);
|
|
+ addr = mmap(0, size, PROT_READ|PROT_WRITE, MAP_SHARED, f, 0);
|
|
+ if (addr == (char *)-1)
|
|
+ exit(1);
|
|
+ close(f);
|
|
+
|
|
+ return (addr);
|
|
+}
|
|
+
|
|
+main()
|
|
+{
|
|
+ char *addr;
|
|
+
|
|
+ addr = mkshare(8192);
|
|
+ *addr = 'I';
|
|
+
|
|
+ switch (fork()) {
|
|
+
|
|
+ case -1:
|
|
+ printf("help\n"); exit(1);
|
|
+
|
|
+ case 0: /* child */
|
|
+ *addr = 'N';
|
|
+ _exit(0);
|
|
+ break;
|
|
+ default: /* parent */
|
|
+ wait(0);
|
|
+ sleep(1);
|
|
+ break;
|
|
+ }
|
|
+
|
|
+ if (*addr != 'N')
|
|
+ exit(1);
|
|
+ exit(0);
|
|
+}
|
|
+],
|
|
+ [ac_cv_func_smmap=yes],
|
|
+ [ac_cv_func_smmap=no],
|
|
+ [ac_cv_func_smmap=no])])
|
|
+if test $ac_cv_func_smmap = yes; then
|
|
+ AC_DEFINE(HAVE_SMMAP)
|
|
+fi])
|