summaryrefslogtreecommitdiff
path: root/recordmydesktop/src/register_callbacks.c
diff options
context:
space:
mode:
authoriovar <iovar@f606c939-3180-4ac9-a4b8-4b8779d57d0a>2007-12-05 17:50:09 +0000
committeriovar <iovar@f606c939-3180-4ac9-a4b8-4b8779d57d0a>2007-12-05 17:50:09 +0000
commitb97fd0333d1faf11675c2ec522979ee1ba81a524 (patch)
tree72cafec7303f18953191997bfdbf8b14787965de /recordmydesktop/src/register_callbacks.c
parent80819a827a4bc44ca9c247f216d6a0c9bba5f584 (diff)
moved pause cond signaling to rmd_timer thread (was in signal handler)
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@458 f606c939-3180-4ac9-a4b8-4b8779d57d0a
Diffstat (limited to 'recordmydesktop/src/register_callbacks.c')
-rw-r--r--recordmydesktop/src/register_callbacks.c24
1 files changed, 4 insertions, 20 deletions
diff --git a/recordmydesktop/src/register_callbacks.c b/recordmydesktop/src/register_callbacks.c
index a0d2552..c5d22d1 100644
--- a/recordmydesktop/src/register_callbacks.c
+++ b/recordmydesktop/src/register_callbacks.c
@@ -28,25 +28,9 @@
#include <recordmydesktop.h>
void SetPaused(int signum){
- if(!Paused){
- Paused=1;
- fprintf(stderr,"STATE:PAUSED\n");
- }
- else{
- Paused=0;
- fprintf(stderr,"STATE:RECORDING\n");
-/*FIXME */
-//This is not safe.
-//cond_var signaling must move away from signal handlers
-//alltogether (JackCapture, SetExpired, SetPaused).
-//Better would be a set of pipes for each of these.
-//The callback should write on the pipe and the main thread
-//should perform a select over the fd's, signaling afterwards the
-//appropriate cond_var.
- pthread_mutex_lock(&pause_mutex);
- pthread_cond_broadcast(pause_cond);
- pthread_mutex_unlock(&pause_mutex);
- }
+
+ PauseStateChanged=1;
+
}
@@ -60,7 +44,7 @@ void SetRunning(int signum){
void RegisterCallbacks(ProgArgs *args){
struct sigaction pause_act,end_act;
-
+
pause_act.sa_handler=SetPaused;
end_act.sa_handler=SetRunning;
sigfillset(&(pause_act.sa_mask));
© All Rights Reserved