tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From bugzi...@apache.org
Subject DO NOT REPLY [Bug 36541] - session getAttribute/setAttribute and removeAttribute are NOT Thread safe.
Date Thu, 08 Sep 2005 13:54:22 GMT
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=36541>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=36541





------- Additional Comments From darryl@darrylmiles.org  2005-09-08 15:54 -------
(In reply to comment #38)
> All the entry objects will be mutated. While it may be inconsistent and might
> loop for an instant (although I am not convinced this could really be the case;
> I think the trouble without any sync could only occur if there was more than one
> concurrent unsynced write, and in particular, two "remove"), the pointer value
> will be corrected and the loop should exit. That's my interpretation looking at
> the code. I think I'll write a small program to test this.
> 

Let me ask you another question then.  Where is the written specification for
the HashMap that states your usage is safe ?  It sounds like you as working on
the presumption that all implementation's won't cause an infinite loop (or set
fire to the computer) but you dont have any API contract to back that
presumption up.



I read the specification to state that some put/remove operations (that modify
the map structurally are explicitly not threadsafe)


You can't call threadsafe and non-threadsafe calls to an API at the same time. 
The threadsafe calls are only threadsafe with respect to other threadsafe calls
on the same API.


My understanding of this:

You can call threadsafe API calls at the same time.

Anytime you want to call a non-threadsafe one you have to serialize it with
respect to the API Interface not with respect to itself or other similar
operations (unless otherwise stated).


-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

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


Mime
View raw message