From 436b928915f56a8bc56fc7065800fad7e474e158 Mon Sep 17 00:00:00 2001 From: Guenter Bartsch Date: Thu, 21 Jun 2001 17:34:23 +0000 Subject: solaris and stability patches provided by Juergen Keil CVS patchset: 211 CVS date: 2001/06/21 17:34:23 --- src/xine-engine/utils.c | 4 +++- src/xine-engine/video_out.c | 20 ++++++++++++++------ src/xine-engine/xine.c | 4 ++-- 3 files changed, 19 insertions(+), 9 deletions(-) (limited to 'src/xine-engine') 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); -- cgit v1.2.3