#
44f58305 |
|
03-Nov-2015 |
Michael Lotz <mmlr@mlotz.ch> |
BLocker: Make misuse warning more useful. Also print the locker sem (for manual name lookup) and the involved threads. It was also missing the line terminator which messed up the following output. Also fix a typo in a comment.
|
#
1cffe0dc |
|
03-Nov-2015 |
Michael Lotz <mmlr@mlotz.ch> |
BLocker: Fix recursive count for "unusual" use cases. Since a BLocker can be unlocked from other threads than the one holding the lock, it can also be further unlocked even when already unlocked. This caused the recursive count to become negative. The first lock then needs to reinitialize the count to 1 for the lock balance to work again. Just incrementing the negative recursive count lead to it never counting back down from one to zero in the unlock case, which made the BLocker impossible to unlock. This makes the Haiku BLocker behave exactly like the BeOS one, including the negative recursive count and reinitialization, as evidenced by its debugging features showing the internal counts. Alternatively to reinitializing the recursive count it could be prevented from going below zero in the first place, but I don't see why we should deviate from BeOS there while allowing its awkward unlock behaviour. This makes some more exotic use cases work like the BGLView <-> SDL combination that previously would always just hang. While these abuses should be reviewed/corrected, just hanging the BLocker doesn't seem useful.
|
#
7c52cca9 |
|
28-Apr-2015 |
Adrien Destugues <pulkomandy@gmail.com> |
Build fix. Thanks to luroh for noticing.
|
#
5de22b9b |
|
28-Apr-2015 |
Adrien Destugues <pulkomandy@gmail.com> |
BLocker: make "unlock from wrong thread" only a warning. Calling Debugger here causes issues with some software (mainly Mesa). Only print a warning, this is enough for developers to see the problem, and not as annoying for users.
|
#
d350b0f0 |
|
22-Dec-2014 |
Adrien Destugues <pulkomandy@gmail.com> |
Typo.
|
#
42274958 |
|
22-Dec-2014 |
Adrien Destugues <pulkomandy@gmail.com> |
BLocker: call debugger() when unlocking from another thread BeOS did allow other threads than the owner to unlock a BLocker (the be book says so). We did not, and silently ignored the unlock attempt in this case, probably resulting in a deadlock of applications using the feature. Call debugger instead so: * The problem is made visible for such apps * The debugger call is continuable so the app can be run, still Will help making a decision on what to do here (follow BeOS or change behavior) and make a final decision for #6400.
|
#
29e8fa59 |
|
24-Jun-2014 |
John Scipione <jscipione@gmail.com> |
Style fixes to Support Kit files
|
#
6f6dceac |
|
27-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32758 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f451e14b |
|
12-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added InitCheck() method. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29487 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0970b97b |
|
22-Apr-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added support_kit_config.h configuration header. ATM it only contains a setting to force BLockers to be semaphore style. This may help with debugging deadlocks. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25096 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8e326c9c |
|
25-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Some style changes I forgot to commit. Also, BLocker now accepts NULL as a name and won't crash anymore in that case ("some BLocker" is then chosen as name). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13826 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
20b628d3 |
|
17-Jun-2004 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Some cleanups for BStopWatch. Added the check for B_INTERRUPTED to the semaphore acquisition in BLocker git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8019 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
76441bab |
|
15-May-2004 |
DarkWyrm <darkwyrm@gmail.com> |
Add header Minor tweaks to BClipboard git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7587 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
52a38012 |
|
08-Jul-2002 |
ejakowatz <ejakowatz@nowhere.fake> |
It is accomplished ... git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7c52cca9386e8185137e1eb2f3e1a938301fe57f |
|
28-Apr-2015 |
Adrien Destugues <pulkomandy@gmail.com> |
Build fix. Thanks to luroh for noticing.
|
#
5de22b9bf661cdf4c5864e3d5772b601771e7f44 |
|
28-Apr-2015 |
Adrien Destugues <pulkomandy@gmail.com> |
BLocker: make "unlock from wrong thread" only a warning. Calling Debugger here causes issues with some software (mainly Mesa). Only print a warning, this is enough for developers to see the problem, and not as annoying for users.
|
#
d350b0f0d455b12621d82fe6af25fcfb1252137d |
|
22-Dec-2014 |
Adrien Destugues <pulkomandy@gmail.com> |
Typo.
|
#
42274958297907618f9ac3df199b35dd3399d114 |
|
22-Dec-2014 |
Adrien Destugues <pulkomandy@gmail.com> |
BLocker: call debugger() when unlocking from another thread BeOS did allow other threads than the owner to unlock a BLocker (the be book says so). We did not, and silently ignored the unlock attempt in this case, probably resulting in a deadlock of applications using the feature. Call debugger instead so: * The problem is made visible for such apps * The debugger call is continuable so the app can be run, still Will help making a decision on what to do here (follow BeOS or change behavior) and make a final decision for #6400.
|
#
29e8fa5922c9f9a5eb09a2fcc92e7fb321d4cc59 |
|
24-Jun-2014 |
John Scipione <jscipione@gmail.com> |
Style fixes to Support Kit files
|
#
6f6dceac96325dce90ea3d7633f74d067e9b5f97 |
|
27-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32758 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f451e14bc2943245b03ce6acd379c12d74351269 |
|
12-Mar-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added InitCheck() method. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29487 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0970b97bed90ae7d5452e412b9cfd6af8a3b0463 |
|
22-Apr-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added support_kit_config.h configuration header. ATM it only contains a setting to force BLockers to be semaphore style. This may help with debugging deadlocks. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25096 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8e326c9cc1851a90bdce8659deae389de4cc5d16 |
|
25-Jul-2005 |
Axel Dörfler <axeld@pinc-software.de> |
Some style changes I forgot to commit. Also, BLocker now accepts NULL as a name and won't crash anymore in that case ("some BLocker" is then chosen as name). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@13826 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
20b628d310c6fc13957c59adc4fdb2ea26195fac |
|
17-Jun-2004 |
Stefano Ceccherini <stefano.ceccherini@gmail.com> |
Some cleanups for BStopWatch. Added the check for B_INTERRUPTED to the semaphore acquisition in BLocker git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8019 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
76441bab6ebb9132d0bb0ab623087bd2b9e861e0 |
|
15-May-2004 |
DarkWyrm <darkwyrm@gmail.com> |
Add header Minor tweaks to BClipboard git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7587 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
52a380120846174213ccce9c4aab0dda17c72083 |
|
08-Jul-2002 |
ejakowatz <ejakowatz@nowhere.fake> |
It is accomplished ... git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10 a95241bf-73f2-0310-859d-f6bbb57e9c96
|