ANNOUNCE: MM library, version 1.0b1 (fwd)

From: Date: Thu, 01 Jan 1970 00:00:00 +0000
Subject: ANNOUNCE: MM library, version 1.0b1 (fwd)
Groups: php.dev 
Request: Send a blank email to php-dev+get-4591@lists.php.net to get a copy of this message
---------- Forwarded message ---------- Date: Fri, 12 Mar 1999 18:07:40 +0100 From: Ralf S. Engelschall <rse@engelschall.com> Reply-To: new-httpd@apache.org To: new-httpd@apache.org, sw-mod-ssl@engelschall.com Subject: [PHP-DEV] ANNOUNCE: MM library, version 1.0b1 As you perhaps remember, one of my current projects is to add shared memory pools to Apache 1.3. Because this would open a large scale of new possibilities for module authors, especially for Doug, Rasmus and me. For this I've already created an abstraction library in the past which I've now publically released under an Open Source (BSD-style) license (see Freshmeat). The idea is that once this library is 100% stable and ported to all Unix platforms we can reconsider my already prepared patch to alloc.c which adds support for shared memory pools with the help of this library. Whether the library is finally included in the distribution or has to be grabbed externally isn't important up to now. Because the whole shared memory pools are _optional_ and enabled only with an "Rule SHARED_POOL=yes". While testing our forthcoming OpenSSL 0.9.2 baby on some plaforms this week, I've now also spent a few days and added GNU Autoconf and GNU Libtool support to this library and replaced all hard-coded platform checks with a lot more sophisticated decision scheme (you remember: for shared memory and mutex implementation there are a lot of possibilities under Unix and the MM library supports all - but it has to _decide_ which one ;-). At least the beast now works under FreeBSD, Linux and Solaris. And with a little bit of tweaking the configure.in script it just also adjust for any other Unix platform which supports some kind of shared memory and mutex. Currently I've implemented the following variants which already cover 95% of all current major Unix platforms AFAIK: Shared Memory: o Classical mmap() on temporary file o SVR4-style mmap() on /dev/zero o mmap() via POSIX.1 shm_open() on temporary file o 4.4BSD-style mmap() via MAP_ANON o SysV IPC shmget() Mutex/Semaphore: o 4.2BSD-style flock() on temporary file o SVR4-style fcntl() on temporary file o SysV IPC semget() What's now needed is _YOUR_ feedback when we really want that this library can be used inside Apache 1.3 (and perhaps even inside Apache 2.0's APR). Go to http://www.engelschall.com/sw/mm/ and grab the latest tarball and run $ gunzip <libmm-1.0bX.tar.gz | tar xvf - $ cd libmm-1.0bX $ ./configure $ make $ make test and send me your results. One last note: The source tree is already designed and prepared to be easily stripped down for inclusion as src/mm/ inside the Apache distribution. The whole libtool and config.guess stuff and other Apache-unrelated things can be easily stripped from the source tree. So, don't panic when it looks larger at the first spot than you would expect it... Greetings, Ralf S. Engelschall rse@engelschall.com www.engelschall.com -- PHP Development Mailing List http://www.php.net/ To unsubscribe send an empty message to php-dev-unsubscribe@lists.php.net For help: php-dev-help@lists.php.net

« previous php.dev (#4591) next »