summaryrefslogtreecommitdiff
path: root/x11/gnustep-gui/patches/patch-aa
blob: fd3dbf93260e7b84a5270d6e4745e5a3f640d61b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
$NetBSD: patch-aa,v 1.3 2005/04/12 15:54:21 adam Exp $

--- Tools/gsnd/portaudio/pa_unix_oss/pa_unix_oss.c.orig	2005-03-21 16:25:28.000000000 +0000
+++ Tools/gsnd/portaudio/pa_unix_oss/pa_unix_oss.c
@@ -580,8 +580,10 @@ static int PaHost_CanaryProc( PaHostSoun
 static PaError PaHost_WatchDogProc( PaHostSoundControl   *pahsc )
 {
     PaError               result = 0;
+#ifndef _PTH_PTHREAD_H_
     struct sched_param    schp = { 0 };
     int                   maxPri;
+#endif
 
 #ifdef GNUSTEP
     GSRegisterCurrentThread(); /* SB20010904 */
@@ -589,6 +591,7 @@ static PaError PaHost_WatchDogProc( PaHo
     
 /* Run at a priority level above audio thread so we can still run if it hangs. */
 /* Rise more than 1 because of rumored off-by-one scheduler bugs. */
+#ifndef _PTH_PTHREAD_H_
     schp.sched_priority = pahsc->pahsc_AudioPriority + 4;
     maxPri = sched_get_priority_max(SCHEDULER_POLICY);
     if( schp.sched_priority > maxPri ) schp.sched_priority = maxPri;
@@ -598,6 +601,7 @@ static PaError PaHost_WatchDogProc( PaHo
         ERR_RPT(("PaHost_WatchDogProc: cannot set watch dog priority!\n"));
         goto killAudio;
     }
+#endif
     
     /* Compare watchdog time with audio and canary thread times. */
     /* Sleep for a while or until thread cancelled. */
@@ -633,6 +637,7 @@ static PaError PaHost_WatchDogProc( PaHo
     return 0;
     
 lowerAudio:
+#ifndef _PTH_PTHREAD_H_
     {
         struct sched_param    schat = { 0 };
         if( sched_setscheduler(pahsc->pahsc_AudioThreadPID, SCHED_OTHER, &schat) != 0)
@@ -646,6 +651,7 @@ lowerAudio:
             goto cleanup;
         }
     }
+#endif
     
 killAudio:
     ERR_RPT(("PaHost_WatchDogProc: killing hung audio thread!\n"));
@@ -740,7 +746,9 @@ static PaError PaHost_BoostPriority( int
 {
     PaHostSoundControl  *pahsc;
     PaError              result = paNoError;
+#ifndef _PTH_PTHREAD_H_
     struct sched_param   schp = { 0 };
+#endif
     
     pahsc = (PaHostSoundControl *) past->past_DeviceData;
     if( pahsc == NULL ) return paInternalError;
@@ -748,6 +756,7 @@ static PaError PaHost_BoostPriority( int
     pahsc->pahsc_AudioThreadPID = getpid();
     DBUG(("PaHost_BoostPriority: audio PID = %d\n", pahsc->pahsc_AudioThreadPID ));
     
+#ifndef _PTH_PTHREAD_H_
     /* Choose a priority in the middle of the range. */
     pahsc->pahsc_AudioPriority = (sched_get_priority_max(SCHEDULER_POLICY) -
                                   sched_get_priority_min(SCHEDULER_POLICY)) / 2;
@@ -763,6 +772,7 @@ static PaError PaHost_BoostPriority( int
         /* We are running at high priority so we should have a watchdog in case audio goes wild. */
         result = PaHost_StartWatchDog( pahsc );
     }
+#endif
     
     return result;
 }