We did not setup a thread cleanup procedure which resulted in calcurse freezing if a thread tried to draw on the screen after another thread was canceled while locking the screen. Note that this kind of cleanup handlers should be added to other mutexes as well. This patch just removes the most common case of triggering a deadlock. Also note that we cannot move pthread_cleanup_push() and pthread_cleanup_pop() into the locking/unlocking functions since both pthread_cleanup_push() and pthread_cleanup_pop() may be implemented as macros that must be used in pairs within the same lexical scope. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
calcurse ======== Read `INSTALL` for instructions on how to build and install calcurse. Check `TODO` for things that still need to be done. Browse the file `doc/manual.html` (or its source `doc/manual.txt`) for detailed descriptions on how to use calcurse. Package Overview ---------------- You should be reading this file in a directory called: `calcurse-x.y.z`, where `x.y.z` is the current version number. There should be four subdirectories: * `src`: contains calcurse sources * `test`: contains a test suite and test cases for calcurse * `scripts`: contains additional scripts, such as `calcurse-upgrade` * `doc`: contains detailed documentation in plain text and HTML Authors ------- * Frederic Culot (Founder) * Lukas Fleischer (Developer) Contributors ------------ * RegEx support: Erik Saule * German translation: Michael Schulz, Chris M., Benjamin Moeller * Spanish translation: Jose Lopez * Dutch translation: Jeremy Roon * French translation: Erik Saule * Russian translation: Aleksey Mechonoshin Also check the `Thanks` section in the manual for a list of people who have contributed by reporting bugs, sending fixes, or suggesting improvements.
Description
Languages
C
65.7%
Shell
29.6%
Python
3.4%
M4
0.8%
Makefile
0.5%