diff options
author | Lennart Poettering <lennart@poettering.net> | 2004-09-03 20:14:23 +0000 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2004-09-03 20:14:23 +0000 |
commit | 4a9239f808b08cf391ded6052bab9cc499e4b505 (patch) | |
tree | 5d595ca0312e42734435948603db4210c734e808 /polyp/util.c | |
parent | c73a298f8887e5c96bc53dc1b2aad2fdbb674f64 (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.c | 17 |
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 } |