summaryrefslogtreecommitdiffstats
path: root/polyp/util.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2004-09-03 20:14:23 +0000
committerLennart Poettering <lennart@poettering.net>2004-09-03 20:14:23 +0000
commit4a9239f808b08cf391ded6052bab9cc499e4b505 (patch)
tree5d595ca0312e42734435948603db4210c734e808 /polyp/util.c
parentc73a298f8887e5c96bc53dc1b2aad2fdbb674f64 (diff)
add CPU load limiter
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@176 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'polyp/util.c')
-rw-r--r--polyp/util.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/polyp/util.c b/polyp/util.c
index a3276fdf..061d5710 100644
--- a/polyp/util.c
+++ b/polyp/util.c
@@ -223,16 +223,23 @@ void pa_raise_priority(void) {
fprintf(stderr, __FILE__": setpriority() failed: %s\n", strerror(errno));
else
fprintf(stderr, __FILE__": Successfully gained nice level %i.\n", NICE_LEVEL);
-
+
#ifdef _POSIX_PRIORITY_SCHEDULING
{
struct sched_param sp;
- sched_getparam(0, &sp);
+
+ if (sched_getparam(0, &sp) < 0) {
+ fprintf(stderr, __FILE__": sched_getparam() failed: %s\n", strerror(errno));
+ return;
+ }
+
sp.sched_priority = 1;
- if (sched_setscheduler(0, SCHED_FIFO, &sp) < 0)
+ if (sched_setscheduler(0, SCHED_FIFO, &sp) < 0) {
fprintf(stderr, __FILE__": sched_setscheduler() failed: %s\n", strerror(errno));
- else
- fprintf(stderr, __FILE__": Successfully gained SCHED_FIFO scheduling.\n");
+ return;
+ }
+
+ fprintf(stderr, __FILE__": Successfully enabled SCHED_FIFO scheduling.\n");
}
#endif
}