Author: fhanik
Date: Fri Aug 31 14:23:30 2007
New Revision: 571592
URL: http://svn.apache.org/viewvc?rev=571592&view=rev
Log:
use the request processor to see if we are doing the action during a call or not
Modified:
tomcat/trunk/java/org/apache/catalina/connector/CometEventImpl.java
tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java
Modified: tomcat/trunk/java/org/apache/catalina/connector/CometEventImpl.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CometEventImpl.java?rev=571592&r1=571591&r2=571592&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/CometEventImpl.java
(original)
+++ tomcat/trunk/java/org/apache/catalina/connector/CometEventImpl.java Fri Aug
31 14:23:30 2007
@@ -45,7 +45,6 @@
this.response = response;
//default behavior is to only listen for read events
register(CometOperation.OP_READ);
- setWorkerThread();
}
@@ -85,10 +84,6 @@
*/
protected boolean blocking = true;
- protected WorkerThreadCheck threadCheck = new WorkerThreadCheck();
-
- private static final Object threadCheckHolder = new Object();
-
// --------------------------------------------------------- Public Methods
/**
@@ -154,7 +149,6 @@
}
public void configureBlocking(boolean blocking) throws
IllegalStateException {
- checkWorkerThread();
if ( getEventType() != EventType.BEGIN ) throw new
IllegalStateException("Can only be configured during the BEGIN event.");
MutableBoolean bool = new MutableBoolean(blocking);
request.action(ActionCode.ACTION_COMET_CONFIGURE_BLOCKING,bool);
@@ -191,29 +185,9 @@
return buf.toString();
}
- protected void setWorkerThread() {
- threadCheck.set(threadCheckHolder);
- }
-
- protected void unsetWorkerThread() {
- threadCheck.set(null);
- }
-
- protected void checkWorkerThread() throws IllegalStateException {
- //throw exception if not on worker thread
- if ( !(threadCheck.get() == threadCheckHolder) )
- throw new IllegalStateException("The operation can only be
performed when invoked by a Tomcat worker thread.");
- }
-
protected Integer translate(int op) {
return new Integer(op);
}
-
- //inner class used to keep track if the current thread is a worker thread.
- private static class WorkerThreadCheck extends ThreadLocal {
-
- }
-
}
Modified: tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java?rev=571592&r1=571591&r2=571592&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java
(original)
+++ tomcat/trunk/java/org/apache/catalina/connector/CoyoteAdapter.java Fri Aug
31 14:23:30 2007
@@ -121,8 +121,6 @@
boolean read = false;
CometEvent event = request.getEvent();
try {
- if ( event!=null && (event instanceof CometEventImpl))
- ((CometEventImpl)event).setWorkerThread();
if (status == SocketStatus.OPEN_CALLBACK) {
if (response.isClosed()) {
// The event has been closed asynchronously, so call
end instead of
@@ -243,9 +241,6 @@
error = true;
return false;
} finally {
- if ( event!=null && (event instanceof CometEventImpl))
- ((CometEventImpl)event).unsetWorkerThread();
-
req.getRequestProcessor().setWorkerThreadName(null);
// Recycle the wrapper request and response
if (error || response.isClosed() || !request.isComet()) {
@@ -340,9 +335,6 @@
} catch (Throwable t) {
log.error(sm.getString("coyoteAdapter.service"), t);
} finally {
- if ( event!=null && (event instanceof CometEventImpl))
- ((CometEventImpl)event).unsetWorkerThread();
-
req.getRequestProcessor().setWorkerThreadName(null);
// Recycle the wrapper request and response
if (!comet) {
Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java?rev=571592&r1=571591&r2=571592&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java
(original)
+++ tomcat/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java Fri Aug
31 14:23:30 2007
@@ -1243,6 +1243,9 @@
} else if (actionCode == ActionCode.ACTION_COMET_CONFIGURE_BLOCKING) {
MutableBoolean bool = (MutableBoolean)param;
if ( bool.get() ) throw new IllegalStateException("Not yet
implemented");
+ RequestInfo rp = request.getRequestProcessor();
+ if ( rp.getStage() != org.apache.coyote.Constants.STAGE_SERVICE )
+ throw new IllegalStateException("Can only be configured during
an event.");
} else if (actionCode == ActionCode.ACTION_COMET_READABLE) {
MutableBoolean bool = (MutableBoolean)param;
try {
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]