tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From billbar...@apache.org
Subject cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/core Container.java
Date Tue, 30 Apr 2002 04:37:28 GMT
billbarker    02/04/29 21:37:28

  Modified:    src/share/org/apache/tomcat/core Container.java
  Log:
  Thread-safety check that we actually have the Hook.
  
  Under high load, it is possible for one thread to ask for a Hook before it has been created
by another thread.  Since null is not a valid return value here, check for it first.
  
  Fix for bug #7770.
  Reported By: Hans Schmid hans.schmid@einsurance.de
  
  Revision  Changes    Path
  1.54      +10 -0     jakarta-tomcat/src/share/org/apache/tomcat/core/Container.java
  
  Index: Container.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/core/Container.java,v
  retrieving revision 1.53
  retrieving revision 1.54
  diff -u -r1.53 -r1.54
  --- Container.java	17 Aug 2001 04:02:54 -0000	1.53
  +++ Container.java	30 Apr 2002 04:37:28 -0000	1.54
  @@ -468,6 +468,16 @@
       public BaseInterceptor[] getInterceptors( int type )
       {
   	if( hooksCache != null ) {
  +	    if( hooksCache[type] == null ) {
  +		Container gContainer = getContextManager().getContainer();
  +		Hooks gHooks = gContainer.getHooks();
  +		if( this != gContainer ) {
  +		    hooksCache[type] = mergeHooks(gHooks.getModules(type),
  +						  getHooks().getModules(type));
  +		} else {
  +		    hooksCache[type] = mergeHooks(gHooks.getModules(type), null);
  +		}
  +	    }
   	    return hooksCache[type];
   	}
   
  
  
  

--
To unsubscribe, e-mail:   <mailto:tomcat-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:tomcat-dev-help@jakarta.apache.org>


Mime
View raw message