From: Julian Seward Date: Mon, 17 Jun 2002 12:19:44 +0000 (+0000) Subject: Add pthread_attr_setschedpolicy / pthread_attr_getschedpolicy. X-Git-Tag: svn/VALGRIND_1_0_3~54 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f34cee7b2f35ba59b1663e12d477cb480b7fa663;p=thirdparty%2Fvalgrind.git Add pthread_attr_setschedpolicy / pthread_attr_getschedpolicy. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@431 --- diff --git a/coregrind/arch/x86-linux/vg_libpthread.c b/coregrind/arch/x86-linux/vg_libpthread.c index 6911474b86..25688c8b9f 100644 --- a/coregrind/arch/x86-linux/vg_libpthread.c +++ b/coregrind/arch/x86-linux/vg_libpthread.c @@ -386,6 +386,21 @@ int pthread_attr_getstacksize ( const pthread_attr_t * _attr, return 0; } +int pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy) +{ + if (policy != SCHED_OTHER && policy != SCHED_FIFO && policy != SCHED_RR) + return EINVAL; + attr->__schedpolicy = policy; + return 0; +} + +int pthread_attr_getschedpolicy(const pthread_attr_t *attr, int *policy) +{ + *policy = attr->__schedpolicy; + return 0; +} + + /* --------------------------------------------------- Helper functions for running a thread and for clearing up afterwards. diff --git a/coregrind/arch/x86-linux/vg_libpthread_unimp.c b/coregrind/arch/x86-linux/vg_libpthread_unimp.c index dec5761dda..74fc79c936 100644 --- a/coregrind/arch/x86-linux/vg_libpthread_unimp.c +++ b/coregrind/arch/x86-linux/vg_libpthread_unimp.c @@ -85,13 +85,13 @@ void __libc_current_sigrtmin ( void ) { unimp("__libc_current_sigrtmin"); } void pthread_attr_getdetachstate ( void ) { unimp("pthread_attr_getdetachstate"); } void pthread_attr_getinheritsched ( void ) { unimp("pthread_attr_getinheritsched"); } //void pthread_attr_getschedparam ( void ) { unimp("pthread_attr_getschedparam"); } -void pthread_attr_getschedpolicy ( void ) { unimp("pthread_attr_getschedpolicy"); } +//void pthread_attr_getschedpolicy ( void ) { unimp("pthread_attr_getschedpolicy"); } //void pthread_attr_getscope ( void ) { unimp("pthread_attr_getscope"); } //void pthread_attr_setdetachstate ( void ) { unimp("pthread_attr_setdetachstate"); } //void pthread_attr_setinheritsched ( void ) { unimp("pthread_attr_setinheritsched"); } //void pthread_attr_setschedparam ( void ) { unimp("pthread_attr_setschedparam"); } -void pthread_attr_setschedpolicy ( void ) { unimp("pthread_attr_setschedpolicy"); } +//void pthread_attr_setschedpolicy ( void ) { unimp("pthread_attr_setschedpolicy"); } //void pthread_attr_setscope ( void ) { unimp("pthread_attr_setscope"); } void pthread_barrier_destroy ( void ) { unimp("pthread_barrier_destroy"); } void pthread_barrier_init ( void ) { unimp("pthread_barrier_init"); } diff --git a/coregrind/vg_libpthread.c b/coregrind/vg_libpthread.c index 6911474b86..25688c8b9f 100644 --- a/coregrind/vg_libpthread.c +++ b/coregrind/vg_libpthread.c @@ -386,6 +386,21 @@ int pthread_attr_getstacksize ( const pthread_attr_t * _attr, return 0; } +int pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy) +{ + if (policy != SCHED_OTHER && policy != SCHED_FIFO && policy != SCHED_RR) + return EINVAL; + attr->__schedpolicy = policy; + return 0; +} + +int pthread_attr_getschedpolicy(const pthread_attr_t *attr, int *policy) +{ + *policy = attr->__schedpolicy; + return 0; +} + + /* --------------------------------------------------- Helper functions for running a thread and for clearing up afterwards. diff --git a/coregrind/vg_libpthread_unimp.c b/coregrind/vg_libpthread_unimp.c index dec5761dda..74fc79c936 100644 --- a/coregrind/vg_libpthread_unimp.c +++ b/coregrind/vg_libpthread_unimp.c @@ -85,13 +85,13 @@ void __libc_current_sigrtmin ( void ) { unimp("__libc_current_sigrtmin"); } void pthread_attr_getdetachstate ( void ) { unimp("pthread_attr_getdetachstate"); } void pthread_attr_getinheritsched ( void ) { unimp("pthread_attr_getinheritsched"); } //void pthread_attr_getschedparam ( void ) { unimp("pthread_attr_getschedparam"); } -void pthread_attr_getschedpolicy ( void ) { unimp("pthread_attr_getschedpolicy"); } +//void pthread_attr_getschedpolicy ( void ) { unimp("pthread_attr_getschedpolicy"); } //void pthread_attr_getscope ( void ) { unimp("pthread_attr_getscope"); } //void pthread_attr_setdetachstate ( void ) { unimp("pthread_attr_setdetachstate"); } //void pthread_attr_setinheritsched ( void ) { unimp("pthread_attr_setinheritsched"); } //void pthread_attr_setschedparam ( void ) { unimp("pthread_attr_setschedparam"); } -void pthread_attr_setschedpolicy ( void ) { unimp("pthread_attr_setschedpolicy"); } +//void pthread_attr_setschedpolicy ( void ) { unimp("pthread_attr_setschedpolicy"); } //void pthread_attr_setscope ( void ) { unimp("pthread_attr_setscope"); } void pthread_barrier_destroy ( void ) { unimp("pthread_barrier_destroy"); } void pthread_barrier_init ( void ) { unimp("pthread_barrier_init"); } diff --git a/vg_libpthread.c b/vg_libpthread.c index 6911474b86..25688c8b9f 100644 --- a/vg_libpthread.c +++ b/vg_libpthread.c @@ -386,6 +386,21 @@ int pthread_attr_getstacksize ( const pthread_attr_t * _attr, return 0; } +int pthread_attr_setschedpolicy(pthread_attr_t *attr, int policy) +{ + if (policy != SCHED_OTHER && policy != SCHED_FIFO && policy != SCHED_RR) + return EINVAL; + attr->__schedpolicy = policy; + return 0; +} + +int pthread_attr_getschedpolicy(const pthread_attr_t *attr, int *policy) +{ + *policy = attr->__schedpolicy; + return 0; +} + + /* --------------------------------------------------- Helper functions for running a thread and for clearing up afterwards. diff --git a/vg_libpthread_unimp.c b/vg_libpthread_unimp.c index dec5761dda..74fc79c936 100644 --- a/vg_libpthread_unimp.c +++ b/vg_libpthread_unimp.c @@ -85,13 +85,13 @@ void __libc_current_sigrtmin ( void ) { unimp("__libc_current_sigrtmin"); } void pthread_attr_getdetachstate ( void ) { unimp("pthread_attr_getdetachstate"); } void pthread_attr_getinheritsched ( void ) { unimp("pthread_attr_getinheritsched"); } //void pthread_attr_getschedparam ( void ) { unimp("pthread_attr_getschedparam"); } -void pthread_attr_getschedpolicy ( void ) { unimp("pthread_attr_getschedpolicy"); } +//void pthread_attr_getschedpolicy ( void ) { unimp("pthread_attr_getschedpolicy"); } //void pthread_attr_getscope ( void ) { unimp("pthread_attr_getscope"); } //void pthread_attr_setdetachstate ( void ) { unimp("pthread_attr_setdetachstate"); } //void pthread_attr_setinheritsched ( void ) { unimp("pthread_attr_setinheritsched"); } //void pthread_attr_setschedparam ( void ) { unimp("pthread_attr_setschedparam"); } -void pthread_attr_setschedpolicy ( void ) { unimp("pthread_attr_setschedpolicy"); } +//void pthread_attr_setschedpolicy ( void ) { unimp("pthread_attr_setschedpolicy"); } //void pthread_attr_setscope ( void ) { unimp("pthread_attr_setscope"); } void pthread_barrier_destroy ( void ) { unimp("pthread_barrier_destroy"); } void pthread_barrier_init ( void ) { unimp("pthread_barrier_init"); }