David, > In this case as I understand it between checking the fd for the door > call and making the door call, someone can call detach, and so we get > EBADF. The detach is synchronized on this, so the fix moves the > enqueue inside the sync block so that it has to complete before > anyone can call detach.
Exactly! Thank you very much. -Dmitry On 2012-08-22 05:26, David Holmes wrote: > On 22/08/2012 5:23 AM, Alan Bateman wrote: >> On 21/08/2012 20:05, Dmitry Samersoff wrote: >>> Hi Everybody, >>> >>> Please review small fix. >>> >>> http://cr.openjdk.java.net/~dsamersoff/7162400/webrev.02/ >>> >>> -Dmitry >>> >> Can you explain the issue a bit further? Looking at the code I can see >> there may be an issue with asynchronous detach (my default, I didn't get >> that right in the original implementation) but I can't tell if this is >> what you are trying to address now. > > I was going to make a similar request. Some context for the problem and > solution makes reviewing a lot easier. > > In this case as I understand it between checking the fd for the door > call and making the door call, someone can call detach, and so we get > EBADF. The detach is synchronized on this, so the fix moves the enqueue > inside the sync block so that it has to complete before anyone can call > detach. > > David > ----- -- Dmitry Samersoff Java Hotspot development team, SPB04 * There will come soft rains ...