pthread_attr_setschedparam() returns zero after completing successfully. Any other return value indicates that an error occurred. If the following conditions occur, the function fails and returns the corresponding value.
The value of param is NULL or tattr is invalid.
You can manage pthreads priority in either of two ways:
You can set the priority attribute before creating a child thread
You can change the priority of the parent thread and then change the priority back