"Santhosh Kumar M [CEC-S]" wrote:
>
> Hi,
>
> Is there a way to change the priority of a thread which is
> running. Is there any interface to change the attributes of an task
> dynamically.
>
> Santhosh
>
> --- [rtl] ---
> To unsubscribe:
> echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
> echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
> ----
> For more information on Real-Time Linux see:
> http://www.rtlinux.org/~rtlinux/
Hi Santosh,
One way of changing the priority of a running thread is to use the
pthread_getschedparam and pthread_setschedparam calls. The following
code segment could be used to change the priority of a running thread:
-----------------------------------------------------------------------------------------
pthread_t self;
int my_policy;
struct sched_param my_param;
self = pthread_self();
// Get the current thread scheduling parameters.
if(( r_c = pthread_getschedparam(self, &my_policy, &my_param)) != 0) {
rt_printk("pthread_getschedparam error: %d\n", r_c);
}
// Set thread priority to the new value.
my_param.sched_priority = NEW_PRIORITY;
if(( r_c = pthread_setschedparam(self, my_policy, &my_param)) != 0) {
rt_printk("pthread_setschedparam error: %d\n", r_c);
}
-----------------------------------------------------------------------------------------
There are interface calls to change other thread attributes, but these
depend on which attribute that you want to change,
Best regards,
Steve
-- [rtl] ---
To unsubscribe:
echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR
echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED]
---
For more information on Real-Time Linux see:
http://www.rtlinux.org/~rtlinux/