summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2006-03-17 08:57:57 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2006-03-17 08:57:57 +0000
commit7357a5ccdcdb6d614c5cd9aecee6b009b1a19eb1 (patch)
treea0212d3e22e6bf2a8c120f2222ea0fa216e1a3a2
parent5d9a6d8cef796eab81c47d0e881bff7c98e9c7eb (diff)
downloadATCD-7357a5ccdcdb6d614c5cd9aecee6b009b1a19eb1.tar.gz
ChangeLogTag: Fri Mar 17 08:56:12 UTC 2006 Johnny Willemsen <jwillemsen@remedy.nl>
-rw-r--r--ChangeLog16
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