diff options
Diffstat (limited to 'src/xine-engine')
-rw-r--r-- | src/xine-engine/utils.c | 4 | ||||
-rw-r--r-- | src/xine-engine/video_out.c | 20 | ||||
-rw-r--r-- | src/xine-engine/xine.c | 4 |
3 files changed, 19 insertions, 9 deletions
diff --git a/src/xine-engine/utils.c b/src/xine-engine/utils.c index 3c6c0f532..50d5cc482 100644 --- a/src/xine-engine/utils.c +++ b/src/xine-engine/utils.c @@ -17,9 +17,11 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: utils.c,v 1.1 2001/04/18 22:36:04 f1rmb Exp $ + * $Id: utils.c,v 1.2 2001/06/21 17:34:24 guenter Exp $ * */ +#define _POSIX_PTHREAD_SEMANTICS 1 /* for 5-arg getpwuid_r on solaris */ + #ifdef HAVE_CONFIG_H #include "config.h" #endif diff --git a/src/xine-engine/video_out.c b/src/xine-engine/video_out.c index 2c624b94d..b497799ce 100644 --- a/src/xine-engine/video_out.c +++ b/src/xine-engine/video_out.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: video_out.c,v 1.24 2001/06/18 15:43:01 richwareham Exp $ + * $Id: video_out.c,v 1.25 2001/06/21 17:34:24 guenter Exp $ * */ @@ -130,9 +130,9 @@ static void vo_set_timer (uint32_t video_step) { } void video_timer_handler (int hubba) { - +#if !HAVE_SIGACTION signal (SIGALRM, video_timer_handler); - +#endif } static void *video_out_loop (void *this_gen) { @@ -152,7 +152,7 @@ static void *video_out_loop (void *this_gen) { /* sigemptyset(&vo_mask); sigaddset(&vo_mask, SIGALRM); - pthread_sigmask(SIG_BLOCK, &vo_mask, NULL); + pthread_sigmask(SIG_UNBLOCK, &vo_mask, NULL); */ @@ -161,9 +161,17 @@ static void *video_out_loop (void *this_gen) { if (sigprocmask (SIG_UNBLOCK, &vo_mask, NULL)) { printf ("video_out: sigprocmask failed.\n"); } +#if HAVE_SIGACTION + { + struct sigaction sig_act; + memset (&sig_act, 0, sizeof(sig_act)); + sig_act.sa_handler = video_timer_handler; + sigaction (SIGALRM, &sig_act, NULL); + } +#else signal (SIGALRM, video_timer_handler); - - +#endif + video_step = this->metronom->get_video_rate (this->metronom); /* diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c index d2aef0dc4..eb08a1e7b 100644 --- a/src/xine-engine/xine.c +++ b/src/xine-engine/xine.c @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: xine.c,v 1.28 2001/06/18 15:43:01 richwareham Exp $ + * $Id: xine.c,v 1.29 2001/06/21 17:34:24 guenter Exp $ * * top-level xine functions * @@ -351,7 +351,7 @@ void xine_pause (xine_t *this) { pthread_mutex_unlock (&this->xine_lock); - printf ("pausing at %d\n", this->cur_input_pos); + printf ("pausing at %Ld\n", this->cur_input_pos); xine_stop (this); |