diff options
author | Johnny Willemsen <jwillemsen@remedy.nl> | 2006-03-17 08:57:57 +0000 |
---|---|---|
committer | Johnny Willemsen <jwillemsen@remedy.nl> | 2006-03-17 08:57:57 +0000 |
commit | 7357a5ccdcdb6d614c5cd9aecee6b009b1a19eb1 (patch) | |
tree | a0212d3e22e6bf2a8c120f2222ea0fa216e1a3a2 | |
parent | 5d9a6d8cef796eab81c47d0e881bff7c98e9c7eb (diff) | |
download | ATCD-7357a5ccdcdb6d614c5cd9aecee6b009b1a19eb1.tar.gz |
ChangeLogTag: Fri Mar 17 08:56:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
-rw-r--r-- | ChangeLog | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index b42c67728aa..1624d4d3199 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,19 @@ +Fri Mar 17 08:56:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl> + + * ace/TP_Reactor.{h,cpp,inl}: + Fixed bugzilla #2395. This was about a race condition in the + TP_Reactor, when the handle_x method returns -1 the handler + is removed and after that we try to resume. Normally this resume + is a noop because for the handle there is no event handler anymore. + But to resume the handle we need to reacquire the lock on the + reactor, in the time between the remove and the reacquire we could + have received a new connection for which the handle is used which + we already freed and then we can resume this handle but then for + a new eventhandler. The fix is to do the remove and resume as atomic + operation. Thanks to Bala Natarajan and Steve Huston for reviewing + the patches and Kees van Marle for debugging and analyzing this + problem. + Thu Mar 16 21:54:29 UTC 2006 Steve Huston <shuston@riverace.com> * ace/Timer_Heap_T.cpp (grow_heap): Reset timer_ids_min_free_ after |