#
462bfeed |
|
23-Aug-2015 |
Michael Lotz <mmlr@mlotz.ch> |
registrar: Fix race condition on MimeUpdateThread termination. When the MimeUpdateThread is done, it marks itself as finished and notifies the thread manager to clean up finished threads. Since multiple such threads might finish at the same time and trigger the cleanup notification, other threads that already marked themselves finished but haven't actually exited yet might already be deleted and removed. This would then lead to a use-after-free when they subsequently tried to send their own cleanup message. To solve the race condition, the thread manager will now wait for the thread to actually exit before cleaning it up. The introduction of the launch_daemon has made this race condition more likely due to more applications starting in parallel, each triggering a CreateAppMetaMimeThread which is a subclass of MimeUpdateThread. This commit might therefore fix #12237.
|
#
dfb3208f |
|
22-Aug-2015 |
Michael Lotz <mmlr@mlotz.ch> |
registrar: Whitespace and style cleanup only. Generally this code still looks horrible (both from a style and from a complexity point of view) and should eventually be reworked.
|
#
50cedfd5 |
|
02-Aug-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Build registrar for x86_64.
|
#
71279b24 |
|
03-Dec-2008 |
Rene Gollent <anevilyak@gmail.com> |
Adjust the thread counting to use atomic adds. This should prevent the previous scenario where many more threads than the limit could actually be spawned. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28775 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
781a7155 |
|
26-Mar-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Move RegistrarThread[Manager].cpp to the registrar. There was no point in those living in libbe. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24603 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
462bfeede0cd123afe2e79d465876289e925ca53 |
|
23-Aug-2015 |
Michael Lotz <mmlr@mlotz.ch> |
registrar: Fix race condition on MimeUpdateThread termination. When the MimeUpdateThread is done, it marks itself as finished and notifies the thread manager to clean up finished threads. Since multiple such threads might finish at the same time and trigger the cleanup notification, other threads that already marked themselves finished but haven't actually exited yet might already be deleted and removed. This would then lead to a use-after-free when they subsequently tried to send their own cleanup message. To solve the race condition, the thread manager will now wait for the thread to actually exit before cleaning it up. The introduction of the launch_daemon has made this race condition more likely due to more applications starting in parallel, each triggering a CreateAppMetaMimeThread which is a subclass of MimeUpdateThread. This commit might therefore fix #12237.
|
#
dfb3208fa3856c5c6d582fb826b7c991c67fa54d |
|
22-Aug-2015 |
Michael Lotz <mmlr@mlotz.ch> |
registrar: Whitespace and style cleanup only. Generally this code still looks horrible (both from a style and from a complexity point of view) and should eventually be reworked.
|
#
50cedfd5b01a968c2da00bfd014360b24a3aac66 |
|
02-Aug-2012 |
Alex Smith <alex@alex-smith.me.uk> |
Build registrar for x86_64.
|
#
71279b24ddba72562faab3304ba0797412467098 |
|
03-Dec-2008 |
Rene Gollent <anevilyak@gmail.com> |
Adjust the thread counting to use atomic adds. This should prevent the previous scenario where many more threads than the limit could actually be spawned. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28775 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
781a715529c3dde0d9a29e441d517dce5791123d |
|
26-Mar-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Move RegistrarThread[Manager].cpp to the registrar. There was no point in those living in libbe. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24603 a95241bf-73f2-0310-859d-f6bbb57e9c96
|