Return-Path: Delivered-To: apmail-httpd-cvs-archive@www.apache.org Received: (qmail 7714 invoked from network); 30 Dec 2008 17:07:56 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 30 Dec 2008 17:07:56 -0000 Received: (qmail 80700 invoked by uid 500); 30 Dec 2008 17:07:55 -0000 Delivered-To: apmail-httpd-cvs-archive@httpd.apache.org Received: (qmail 80637 invoked by uid 500); 30 Dec 2008 17:07:55 -0000 Mailing-List: contact cvs-help@httpd.apache.org; run by ezmlm Precedence: bulk Reply-To: dev@httpd.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list cvs@httpd.apache.org Received: (qmail 80624 invoked by uid 99); 30 Dec 2008 17:07:55 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 30 Dec 2008 09:07:55 -0800 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 30 Dec 2008 17:07:47 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 6898D238899A; Tue, 30 Dec 2008 09:07:26 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r730180 - in /httpd/httpd/trunk/modules/mem: config5.m4 mod_plainmem.c mod_sharedmem.c mod_slotmem.c mod_slotmem.h providers/ providers/Makefile.in providers/config6.m4 providers/mod_plainmem.c providers/mod_sharedmem.c slotmem.h Date: Tue, 30 Dec 2008 17:07:26 -0000 To: cvs@httpd.apache.org From: jim@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20081230170726.6898D238899A@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: jim Date: Tue Dec 30 09:07:25 2008 New Revision: 730180 URL: http://svn.apache.org/viewvc?rev=730180&view=rev Log: Start of further refactoring.... Added: httpd/httpd/trunk/modules/mem/mod_slotmem.c (with props) httpd/httpd/trunk/modules/mem/mod_slotmem.h (props changed) - copied unchanged from r730179, httpd/httpd/trunk/modules/mem/slotmem.h httpd/httpd/trunk/modules/mem/providers/ httpd/httpd/trunk/modules/mem/providers/Makefile.in (with props) httpd/httpd/trunk/modules/mem/providers/config6.m4 (with props) httpd/httpd/trunk/modules/mem/providers/mod_plainmem.c (props changed) - copied unchanged from r730179, httpd/httpd/trunk/modules/mem/mod_plainmem.c httpd/httpd/trunk/modules/mem/providers/mod_sharedmem.c (props changed) - copied unchanged from r730179, httpd/httpd/trunk/modules/mem/mod_sharedmem.c Removed: httpd/httpd/trunk/modules/mem/mod_plainmem.c httpd/httpd/trunk/modules/mem/mod_sharedmem.c httpd/httpd/trunk/modules/mem/slotmem.h Modified: httpd/httpd/trunk/modules/mem/config5.m4 Modified: httpd/httpd/trunk/modules/mem/config5.m4 URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/mem/config5.m4?rev=730180&r1=730179&r2=730180&view=diff ============================================================================== --- httpd/httpd/trunk/modules/mem/config5.m4 (original) +++ httpd/httpd/trunk/modules/mem/config5.m4 Tue Dec 30 09:07:25 2008 @@ -3,12 +3,19 @@ dnl APACHE_MODULE(name, helptext[, objects[, structname[, default[, config]]]]) APACHE_MODPATH_INIT(mem) +if test "$enable_slotmem" = "shared"; then + slotmem_mods_enable=shared +elif test "$enable_slotmem" = "yes"; then + slotmem_mods_enable=yes +else + slotmem_mods_enable=no +fi -sharedmem_objs="mod_sharedmem.lo" -APACHE_MODULE(sharedmem, memslot provider that uses shared memory, $sharedmem_objs, , most) -APACHE_MODULE(plainmem, memslot provider that uses plain memory, , , no) +slotmem_objs="mod_slotmem.lo" -# Ensure that other modules can pick up slotmem.h +APACHE_MODULE(slotmem, slot-based memory API using providers, $slotmem_objs, , most) + +# Ensure that other modules can pick up mod_slotmem.h APR_ADDTO(INCLUDES, [-I\$(top_srcdir)/$modpath_current]) APACHE_MODPATH_FINISH Added: httpd/httpd/trunk/modules/mem/mod_slotmem.c URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/mem/mod_slotmem.c?rev=730180&view=auto ============================================================================== --- httpd/httpd/trunk/modules/mem/mod_slotmem.c (added) +++ httpd/httpd/trunk/modules/mem/mod_slotmem.c Tue Dec 30 09:07:25 2008 @@ -0,0 +1,79 @@ +/* Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/* Memory handler for a plain memory divided in slot. + * This one uses plain memory. + */ + +#include "mod_slotmem.h" + +AP_DECLARE(ap_slotmem_storage_method *) ap_slotmem_method(const char *provider) +{ + return (ap_lookup_provider(SLOTMEM_STORAGE, provider, "0")); +} + +AP_DECLARE(apr_status_t) ap_slotmem_do(ap_slotmem_storage_method *sm, + ap_slotmem_t *s, + ap_slotmem_callback_fn_t *func, + void *data, apr_pool_t *pool) +{ + return (sm->slotmem_do(s, func, data, pool)); +} + +AP_DECLARE(apr_status_t) ap_slotmem_create(ap_slotmem_storage_method *sm, + ap_slotmem_t **new, const char *name, + apr_size_t item_size, int item_num, + apr_pool_t *pool) +{ + return (sm->slotmem_create(new, name, item_size, item_num, pool)); +} + +AP_DECLARE(apr_status_t) ap_slotmem_attach(ap_slotmem_storage_method *sm, + ap_slotmem_t **new, const char *name, + apr_size_t *item_size, int *item_num, + apr_pool_t *pool) +{ + return (sm->slotmem_attach(new, name, item_size, item_num, pool)); +} + +AP_DECLARE(apr_status_t) ap_slotmem_mem(ap_slotmem_storage_method *sm, + ap_slotmem_t *s, int item_id, void**mem) +{ + return (sm->slotmem_mem(s, item_id, mem)); +} + +AP_DECLARE(apr_status_t) ap_slotmem_lock(ap_slotmem_storage_method *sm, + ap_slotmem_t *s) +{ + return (sm->slotmem_lock(s)); +} + +AP_DECLARE(apr_status_t) ap_slotmem_unlock(ap_slotmem_storage_method *sm, + ap_slotmem_t *s) +{ + return (sm->slotmem_unlock(s)); +} + + +module AP_MODULE_DECLARE_DATA slotmem_module = { + STANDARD20_MODULE_STUFF, + NULL, /* create per-directory config structure */ + NULL, /* merge per-directory config structures */ + NULL, /* create per-server config structure */ + NULL, /* merge per-server config structures */ + NULL, /* command apr_table_t */ + NULL /* register hooks */ +}; Propchange: httpd/httpd/trunk/modules/mem/mod_slotmem.c ------------------------------------------------------------------------------ svn:eol-style = native Propchange: httpd/httpd/trunk/modules/mem/mod_slotmem.h ------------------------------------------------------------------------------ svn:eol-style = native Propchange: httpd/httpd/trunk/modules/mem/mod_slotmem.h ------------------------------------------------------------------------------ svn:mergeinfo = Added: httpd/httpd/trunk/modules/mem/providers/Makefile.in URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/mem/providers/Makefile.in?rev=730180&view=auto ============================================================================== --- httpd/httpd/trunk/modules/mem/providers/Makefile.in (added) +++ httpd/httpd/trunk/modules/mem/providers/Makefile.in Tue Dec 30 09:07:25 2008 @@ -0,0 +1,3 @@ +# a modules Makefile has no explicit targets -- they will be defined by +# whatever modules are enabled. just grab special.mk to deal with this. +include $(top_srcdir)/build/special.mk Propchange: httpd/httpd/trunk/modules/mem/providers/Makefile.in ------------------------------------------------------------------------------ svn:eol-style = native Added: httpd/httpd/trunk/modules/mem/providers/config6.m4 URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/mem/providers/config6.m4?rev=730180&view=auto ============================================================================== --- httpd/httpd/trunk/modules/mem/providers/config6.m4 (added) +++ httpd/httpd/trunk/modules/mem/providers/config6.m4 Tue Dec 30 09:07:25 2008 @@ -0,0 +1,14 @@ +dnl modules enabled in this directory by default + +dnl APACHE_MODULE(name, helptext[, objects[, structname[, default[, config]]]]) + +APACHE_MODPATH_INIT(mem/providers) + +sharedmem_objs="mod_sharedmem.lo" +APACHE_MODULE(sharedmem, memslot provider that uses shared memory, $sharedmem_objs, , $slotmem_mods_enable) +APACHE_MODULE(plainmem, memslot provider that uses plain memory, , , no) + +# Ensure that other modules can pick up slotmem.h +APR_ADDTO(INCLUDES, [-I\$(top_srcdir)/$modpath_current]) + +APACHE_MODPATH_FINISH Propchange: httpd/httpd/trunk/modules/mem/providers/config6.m4 ------------------------------------------------------------------------------ svn:eol-style = native Propchange: httpd/httpd/trunk/modules/mem/providers/mod_plainmem.c ------------------------------------------------------------------------------ svn:eol-style = native Propchange: httpd/httpd/trunk/modules/mem/providers/mod_plainmem.c ------------------------------------------------------------------------------ svn:mergeinfo = Propchange: httpd/httpd/trunk/modules/mem/providers/mod_sharedmem.c ------------------------------------------------------------------------------ svn:eol-style = native Propchange: httpd/httpd/trunk/modules/mem/providers/mod_sharedmem.c ------------------------------------------------------------------------------ svn:mergeinfo =