Received: (from majordom@localhost) by hyperreal.org (8.8.5/8.8.5) id PAA05354; Wed, 13 Aug 1997 15:35:53 -0700 (PDT) Received: (from brian@localhost) by hyperreal.org (8.8.5/8.8.5) id PAA05349 for new-httpd@apache.org; Wed, 13 Aug 1997 15:35:51 -0700 (PDT) Received: from palrel1.hp.com (palrel1.hp.com [156.153.255.235]) by hyperreal.org (8.8.5/8.8.5) with ESMTP id WAA05750 for ; Tue, 12 Aug 1997 22:59:07 -0700 (PDT) Received: from phoenix.rsn.hp.com (phoenix.rsn.hp.com [15.99.99.12]) by palrel1.hp.com (8.8.6/8.8.5) with ESMTP id WAA02322 for ; Tue, 12 Aug 1997 22:59:05 -0700 (PDT) Received: by phoenix.rsn.hp.com (8.7.5/1.28) id AAA09992; Wed, 13 Aug 1997 00:59:01 -0500 (GMT+5:00) Date: Wed, 13 Aug 1997 00:59:01 -0500 (GMT+5:00) From: venters@phoenix.rsn.hp.com (Jeff Venters) Message-Id: <199708130559.AAA09992@phoenix.rsn.hp.com> To: new-httpd@hyperreal.org Subject: ConvexOS 11.x improvement based on apache 1.2.1 Sender: new-httpd-owner@apache.org Precedence: bulk Reply-To: new-httpd@apache.org Greetings, I have added *better* support for ConvexOS 11.* (a BSD 4.2 derivative similar to SUNOS). FYI: ConvexOS 11.x runs on 4 generations of Vector Supercomputer products (C2, C34, C38, C4). The following changes are pretty simple and are based on Apache 1.2.1. I've added support for mmap() and cleaned up the supplied options for build (conf.h and Configure). Please let me know if you have any comments or questions (venters@convex.hp.com). Overview of changes: 1. Updated conf.h to include better info for ConvexOS. mmap() should now be used, etc. - much faster than previous version. 2. Updated configure script to add CFLAGS: -ext, -O1 3. http_main.c: ConvexOS has a slightly different implementation of the mmap () system call (don't blame me I didn't do it :-). Added special case mmap() for -DCONVEXOS11 The patch list (diff -c3 orig new) is included below (separated by ====). Jeff Venters, Convex Division of Hewlett-Packard ================================================================ *** orig.http_main.c Wed Aug 13 00:04:12 1997 --- http_main.c Wed Aug 13 00:07:04 1997 *************** *** 666,673 **** --- 666,692 ---- #elif defined(MAP_ANON) || defined(MAP_FILE) /* BSD style */ + #ifdef CONVEXOS11 + /* + * 9-Aug-97 - Jeff Venters (venters@convex.hp.com) + * ConvexOS maps address space as follows: + * 0x00000000 - 0x7fffffff : Kernel + * 0x80000000 - 0xffffffff : User + * Start mmapped area 1GB above start of text. + * + * Also, the length requires a pointer as the actual length is + * returned (rounded up to a page boundary). + */ + { + unsigned len = SCOREBOARD_SIZE; + + m = mmap((caddr_t)0xC0000000, &len, + PROT_READ | PROT_WRITE, MAP_ANON | MAP_SHARED, NOFD, 0); + } + #else m = mmap((caddr_t)0, SCOREBOARD_SIZE, PROT_READ | PROT_WRITE, MAP_ANON | MAP_SHARED, -1, 0); + #endif if (m == (caddr_t)-1) { perror("mmap"); ================================================================ *** orig.Configure Wed Aug 13 00:00:57 1997 --- Configure Wed Aug 13 00:03:46 1997 *************** *** 469,475 **** ;; *convex-v11*) OS='CONVEXOS11' ! CFLAGS="$CFLAGS -DCONVEXOS11" CC='cc' DEF_WANTHSREGEX=yes ;; --- 469,476 ---- ;; *convex-v11*) OS='CONVEXOS11' ! CFLAGS="$CFLAGS -ext -DCONVEXOS11" ! OPTIM="-O1" # scalar optimization only CC='cc' DEF_WANTHSREGEX=yes ;; ================================================================ *** orig.conf.h Tue Aug 12 23:52:51 1997 --- conf.h Tue Aug 12 23:57:16 1997 *************** *** 295,304 **** extern int strcasecmp(const char *,const char *); extern int strncasecmp(const char *,const char *,unsigned); - #elif defined(CONVEXOS) - #define HAVE_GMTOFF - #define NEED_STRDUP - #elif defined(AUX) /* These are to let -Wall compile more cleanly */ extern int strcasecmp(const char *, const char *); --- 295,300 ---- *************** *** 491,496 **** --- 487,498 ---- /* Convex OS v11 */ #elif defined(CONVEXOS11) + #undef HAVE_GMTOFF + #undef NO_KILLPG + #undef NO_SETSID + #undef NEED_STRDUP + #define HAVE_MMAP + #define NO_TIMEZONE #include #include