summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoriliyan <iliyan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2008-03-20 20:41:05 +0000
committeriliyan <iliyan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2008-03-20 20:41:05 +0000
commitac3d1308a2498464c40ac3eef7815e9ee4a51891 (patch)
treef2225b04e334fb031610403285fb5ce655058172
parent3988fa4f4ca702f6c4494cc846ec4b30d1066ed3 (diff)
downloadATCD-ac3d1308a2498464c40ac3eef7815e9ee4a51891.tar.gz
reformating
-rw-r--r--ACE/ChangeLog.iliyan-gestalt40
1 files changed, 24 insertions, 16 deletions
diff --git a/ACE/ChangeLog.iliyan-gestalt b/ACE/ChangeLog.iliyan-gestalt
index acbadb28a47..5341e30c862 100644
--- a/ACE/ChangeLog.iliyan-gestalt
+++ b/ACE/ChangeLog.iliyan-gestalt
@@ -1,18 +1,25 @@
Thu Mar 20 19:42:06 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
- The legacy implementation of the SR ordered the services, based on the time of insertion. Later this was changed
- because the new DLL unloading functionality caused crashes as services dependent on a DLL were being unloaded
- prematurely. The change was based on Service_Type_Dynamic_Guard stack based instances, capturing the intended
- position of a DLL-based service. As the DLL service loaded, it was purposedly inserted at the saved position.
- Combined with a reversing the order of finalization, that _almost_ worked.
-
- Later, the concept was enhanced with a mechanism that relies on the DLL_Handle's reference counting to keep
- a DLL mapped in memory until any dependent services were finalized. This eliminated the need to artificially
- reorder the services, but the code to do that remained active.
-
- However, inserting the first DLL service before any dependents, caused its finalization to be performed last. This
- prevents the service itself from being able to refer to its own dependent services (if any). The problem was
- illustrated by Bug #3251. This change removes the artificial reordering of dependent services.
+ The legacy implementation of the SR ordered the services, based on
+ the time of insertion. Later this was changed because the new DLL
+ unloading functionality caused crashes as services dependent on a
+ DLL were being unloaded prematurely. The change was based on
+ Service_Type_Dynamic_Guard stack based instances, capturing the
+ intended position of a DLL-based service. As the DLL service
+ loaded, it was purposely inserted at the saved position. Combined
+ with a reversing the order of finalization, that _almost_ worked.
+
+ Later, the concept was enhanced with a mechanism that relies on
+ the DLL_Handle's reference counting to keep a DLL mapped in memory
+ until any dependent services were finalized. This eliminated the
+ need to artificially reorder the services, but the code to do that
+ remained active.
+
+ However, inserting the first DLL service before any dependents,
+ caused its finalization to be performed last. This prevents the
+ service itself from being able to refer to its own dependent
+ services (if any). The problem was illustrated by Bug #3251. This
+ change removes the artificial reordering of dependent services.
* ace/Service_Gestalt.h:
* ace/Service_Gestalt.cpp:
@@ -22,9 +29,10 @@ Thu Mar 20 19:42:06 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>
* ace/Service_Repository.h:
* ace/Service_Repository.cpp:
- Simplified relocate_i() and fixed an error that was causing it to choose incorrect ranges of service indexes to relocate.
- Eliminated the boolean static_only parameter as it was always being set to true.
-
+ Simplified relocate_i() and fixed an error that was causing it to
+ choose incorrect ranges of service indexes to relocate.
+ Eliminated the boolean static_only parameter as it was always
+ being set to true.
Tue Mar 11 04:08:21 UTC 2008 Iliyan Jeliazkov <iliyan@ociweb.com>