| Commit message (Collapse) | Author | Age | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This converts t_rwmutex and t_rwmutex_guard into a read-write-update[*]
lock and guard, in an attempt to circumvent the various deadlocks that
were introduced with the addition of lines_mtx in 38bb6b7.
[*] For more details, see https://stackoverflow.com/a/18785300 and
http://lkml.iu.edu/hypermail/linux/kernel/0004.3/0117.html.
Note that this is not a real fix; this would require analyzing and
refactoring phone.cpp, which is well beyond my abilities. This is at
best a workaround that appears to conveniently dodge all the deadlocks
I've encountered so far.
(It would have been more proper to introduce a separate class for this
purpose, but this would have required modifying over 80 lines just to
change one type for another. As phone_users_mtx is the only other
instance of this class, the impact of subverting t_rwmutex directly is
minimal.)
|
|
|
|
| |
(Doing this ahead of time to simplify the next commit a bit.)
|
|
|
|
|
| |
These classes are about to get more complex, so let's move them ahead of
time into mutex.cpp.
|
|
|
|
|
|
| |
Wording copied from https://www.gnu.org/licenses/gpl-howto.en.html
Fixes #25, fixes #71
|
|
|
|
| |
freezing, this commit is probably to blame.
|
|
Check in contents of upstream 1.4.2 tarball, exclude generated files.
|