Author: axeld Date: 2009-10-27 13:34:27 +0100 (Tue, 27 Oct 2009) New Revision: 33787 Changeset: http://dev.haiku-os.org/changeset/33787/haiku Modified: haiku/trunk/headers/posix/sched.h haiku/trunk/src/system/libroot/posix/pthread/pthread_attr.c haiku/trunk/src/system/libroot/posix/scheduler.cpp Log: * Reduce maximum priority to B_URGENT_DISPLAY_PRIORITY; real time threads isn't really something to play with without knowing the outcome. * Fixed indentation/coding style violations introduced with r33783. Please take more care when accepting patches! Modified: haiku/trunk/headers/posix/sched.h =================================================================== --- haiku/trunk/headers/posix/sched.h 2009-10-27 12:12:27 UTC (rev 33786) +++ haiku/trunk/headers/posix/sched.h 2009-10-27 12:34:27 UTC (rev 33787) @@ -5,18 +5,21 @@ #ifndef _SCHED_H_ #define _SCHED_H_ + #ifdef __cplusplus extern "C" { #endif -#define SCHED_OTHER 1 -#define SCHED_RR 2 -#define SCHED_FIFO 4 +#define SCHED_OTHER 1 +#define SCHED_RR 2 +#define SCHED_FIFO 4 + struct sched_param { int sched_priority; }; + extern int sched_yield(void); extern int sched_get_priority_min(int); extern int sched_get_priority_max(int); Modified: haiku/trunk/src/system/libroot/posix/pthread/pthread_attr.c =================================================================== --- haiku/trunk/src/system/libroot/posix/pthread/pthread_attr.c 2009-10-27 12:12:27 UTC (rev 33786) +++ haiku/trunk/src/system/libroot/posix/pthread/pthread_attr.c 2009-10-27 12:34:27 UTC (rev 33787) @@ -5,6 +5,7 @@ * Distributed under the terms of the MIT License. */ + #include <pthread.h> #include "pthread_private.h" @@ -13,6 +14,7 @@ #include <thread_defs.h> + int pthread_attr_init(pthread_attr_t *_attr) { @@ -134,25 +136,29 @@ return 0; } -int -pthread_attr_setschedparam(pthread_attr_t *attr, const struct sched_param *param) + +int +pthread_attr_setschedparam(pthread_attr_t *attr, + const struct sched_param *param) { - if (attr == NULL || param == NULL) - return EINVAL; + if (attr == NULL || param == NULL) + return EINVAL; (*attr)->sched_priority = param->sched_priority; return 0; } + int -pthread_attr_getschedparam(const pthread_attr_t *attr, struct sched_param *param) +pthread_attr_getschedparam(const pthread_attr_t *attr, + struct sched_param *param) { - if (attr == NULL || param == NULL) - return EINVAL; + if (attr == NULL || param == NULL) + return EINVAL; - param->sched_priority = (*attr)->sched_priority; + param->sched_priority = (*attr)->sched_priority; - return 0; + return 0; } Modified: haiku/trunk/src/system/libroot/posix/scheduler.cpp =================================================================== --- haiku/trunk/src/system/libroot/posix/scheduler.cpp 2009-10-27 12:12:27 UTC (rev 33786) +++ haiku/trunk/src/system/libroot/posix/scheduler.cpp 2009-10-27 12:34:27 UTC (rev 33787) @@ -4,6 +4,7 @@ * Distributed under the terms of the MIT license. */ + #include <errno.h> #include <sched.h> @@ -28,6 +29,7 @@ case SCHED_RR: case SCHED_OTHER: return B_LOW_PRIORITY; + default: errno = EINVAL; return -1; @@ -42,7 +44,8 @@ case SCHED_FIFO: case SCHED_RR: case SCHED_OTHER: - return B_REAL_TIME_PRIORITY; + return B_URGENT_DISPLAY_PRIORITY; + default: errno = EINVAL; return -1;