packages: apache-mod_watch/apache-mod_watch.conf, apache-mod_watch/apache-m...

baggins baggins at pld-linux.org
Mon Mar 28 14:20:08 CEST 2011


Author: baggins                      Date: Mon Mar 28 12:20:08 2011 GMT
Module: packages                      Tag: HEAD
---- Log message:
- rel 8
- configurable shm mutex mech to solve interoperability problems with mod_ruid2

---- Files affected:
packages/apache-mod_watch:
   apache-mod_watch.conf (1.4 -> 1.5) , apache-mod_watch.spec (1.36 -> 1.37) , apache-mod_watch-mutex.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/apache-mod_watch/apache-mod_watch.conf
diff -u packages/apache-mod_watch/apache-mod_watch.conf:1.4 packages/apache-mod_watch/apache-mod_watch.conf:1.5
--- packages/apache-mod_watch/apache-mod_watch.conf:1.4	Sat Nov 20 18:44:15 2004
+++ packages/apache-mod_watch/apache-mod_watch.conf	Mon Mar 28 14:20:03 2011
@@ -3,6 +3,13 @@
 LoadModule watch_module modules/mod_watch.so
 
 <IfModule mod_watch.c>
+  # The mechanism to use for the shared memory lock, useful to solve
+  # interoperability problems with modules like ruid2
+  # If you see a lot of '(20014)Internal error: shGetLockedEntry(...'
+  # try changing this option to file/fcntl/flock
+  # Valid mechanisms are: default, file, flock, fcntl, pthread
+  #WatchMutexMech file
+
   # Allows the URL used to query virtual host data:
   #
   #   http://your.pld.machine/watch-info

================================================================
Index: packages/apache-mod_watch/apache-mod_watch.spec
diff -u packages/apache-mod_watch/apache-mod_watch.spec:1.36 packages/apache-mod_watch/apache-mod_watch.spec:1.37
--- packages/apache-mod_watch/apache-mod_watch.spec:1.36	Thu Mar 10 19:30:18 2011
+++ packages/apache-mod_watch/apache-mod_watch.spec	Mon Mar 28 14:20:03 2011
@@ -8,7 +8,7 @@
 Summary(pl.UTF-8):	Moduł do apache: Interfejs do monitorowania za pomocą MRTG
 Name:		apache-mod_%{mod_name}
 Version:	4.03
-Release:	7
+Release:	8
 License:	BSD
 Group:		Networking/Daemons/HTTP
 Source0:	http://www.snert.com/Software/download/mod_watch%(echo %{version} | tr -d .).tgz
@@ -16,6 +16,7 @@
 Source1:	%{name}.conf
 Patch0:		%{name}-apr-fix.patch
 Patch1:		%{name}-shm-fix.patch
+Patch2:		%{name}-mutex.patch
 URL:		http://www.snert.com/Software/mod_watch/
 BuildRequires:	%{apxs}
 BuildRequires:	apache-devel >= 2.0.52-2
@@ -48,6 +49,7 @@
 %setup -q -n mod_%{mod_name}-4.3
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 %build
 %{__make} -f Makefile.dso build \
@@ -85,6 +87,10 @@
 All persons listed below can be reached at <cvs_login>@pld-linux.org
 
 $Log$
+Revision 1.37  2011/03/28 12:20:03  baggins
+- rel 8
+- configurable shm mutex mech to solve interoperability problems with mod_ruid2
+
 Revision 1.36  2011/03/10 18:30:18  baggins
 - rel 7
 - fix for "Internal error: shGetLockedEntry", see http://ovcharov.me/2009/09/01/kak-pochinit-mod_watch/

================================================================
Index: packages/apache-mod_watch/apache-mod_watch-mutex.patch
diff -u /dev/null packages/apache-mod_watch/apache-mod_watch-mutex.patch:1.1
--- /dev/null	Mon Mar 28 14:20:09 2011
+++ packages/apache-mod_watch/apache-mod_watch-mutex.patch	Mon Mar 28 14:20:03 2011
@@ -0,0 +1,112 @@
+diff -ur mod_watch-4.3/mod_watch.c mod_watch-4.3-mutex/mod_watch.c
+--- mod_watch-4.3/mod_watch.c	2011-03-28 14:15:48.017826697 +0200
++++ mod_watch-4.3-mutex/mod_watch.c	2011-03-28 14:07:07.613894883 +0200
+@@ -1466,6 +1466,63 @@
+ }
+ 
+ /*
++ * WatchMutexMech directory
++ *
++ * Mutex mechanism to use for shared memory lock.
++ */
++static const char *
++WatchMutexMech(cmd_parms *cmd, void *dconf, const char *mech)
++{
++	if (!strcasecmp(mech, "default")) {
++		shMutexMech = APR_LOCK_DEFAULT;
++	}
++#if APR_HAS_FCNTL_SERIALIZE
++	else if (!strcasecmp(mech, "fcntl") || !strcasecmp(mech, "file")) {
++		shMutexMech = APR_LOCK_FCNTL;
++	}
++#endif
++#if APR_HAS_FLOCK_SERIALIZE
++	else if (!strcasecmp(mech, "flock") || !strcasecmp(mech, "file")) {
++		shMutexMech = APR_LOCK_FLOCK;
++	}
++#endif
++#if APR_HAS_POSIXSEM_SERIALIZE
++	else if (!strcasecmp(mech, "posixsem") || !strcasecmp(mech, "sem")) {
++		shMutexMech = APR_LOCK_POSIXSEM;
++	}
++#endif
++#if APR_HAS_PROC_PTHREAD_SERIALIZE
++	else if (!strcasecmp(mech, "pthread")) {
++		shMutexMech = APR_LOCK_PROC_PTHREAD;
++	}
++#endif
++	else {
++		return apr_pstrcat(cmd->pool, "Invalid WatchMutexMech argument ", mech,
++				" (Valid WatchMutexMech mechanisms are: default"
++#if APR_HAS_FLOCK_SERIALIZE || APR_HAS_FCNTL_SERIALIZE
++				", file"
++#endif
++#if APR_HAS_FLOCK_SERIALIZE
++				", flock"
++#endif
++#if APR_HAS_FCNTL_SERIALIZE
++				", fcntl"
++#endif
++#if APR_HAS_POSIXSEM_SERIALIZE
++				", sem"
++#endif
++#if APR_HAS_POSIXSEM_SERIALIZE
++				", posixsem"
++#endif
++#if APR_HAS_PROC_PTHREAD_SERIALIZE
++				", pthread"
++#endif
++				")", NULL);
++	}
++	return (const char *) 0;
++}
++
++/*
+  * WatchStateDirectory directory
+  *
+  * Absolute or server root relative directory where support and runtime
+@@ -1645,6 +1702,11 @@
+ 	),
+ 
+ 	AP_INIT_TAKE1(
++		"WatchMutexMech", WatchMutexMech, NULL, RSRC_CONF,
++		"Mutex mechanism to use for shared memory lock."
++	),
++
++	AP_INIT_TAKE1(
+ 		"WatchStateDirectory", WatchStateDirectory, NULL, RSRC_CONF,
+ 		"Spool directory for any support and runtime files."
+ 	),
+diff -ur mod_watch-4.3/SharedHash.c mod_watch-4.3-mutex/SharedHash.c
+--- mod_watch-4.3/SharedHash.c	2011-03-28 14:15:48.017826697 +0200
++++ mod_watch-4.3-mutex/SharedHash.c	2011-03-28 14:06:00.950400565 +0200
+@@ -95,6 +95,8 @@
+ const char shScanFormat[] = SH_SCAN_FORMAT;
+ const char shPrintFormat[] = SH_PRINT_FORMAT;
+ 
++int shMutexMech = APR_LOCK_DEFAULT;
++
+ #ifdef BOUNDARY_CHECKING
+ char *
+ shVerifyString(struct shTable *tp, char *str)
+@@ -509,7 +515,7 @@
+ 
+ 	rc = apr_global_mutex_create(
+ 		(apr_global_mutex_t **) &tp->mutex,
+-		tp->lockfile, APR_LOCK_DEFAULT, p
++		tp->lockfile, shMutexMech, p
+ 	);
+ 	if (rc != APR_SUCCESS) {
+ 		ap_log_error(
+diff -ur mod_watch-4.3/SharedHash.h mod_watch-4.3-mutex/SharedHash.h
+--- mod_watch-4.3/SharedHash.h	2003-03-14 10:12:48.000000000 +0100
++++ mod_watch-4.3-mutex/SharedHash.h	2011-03-28 14:04:55.726981348 +0200
+@@ -110,6 +110,8 @@
+ extern "C" {
+ #endif
+ 
++extern int shMutexMech;
++
+ extern const char shLockFile[];
+ extern const char shScanFormat[];
+ extern const char shPrintFormat[];
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/apache-mod_watch/apache-mod_watch.conf?r1=1.4&r2=1.5&f=u
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/packages/apache-mod_watch/apache-mod_watch.spec?r1=1.36&r2=1.37&f=u



More information about the pld-cvs-commit mailing list