> Quoting your code: > > free(q); > if (err = pthread_rwlock_unlock(q->data->rwlock)) { > > q is freed, and then use as an argument to pthread_rwlock_unlock(). >
Wow. Sorry, usually I'm not SO stupid. But anyway this was not the problem I was talking about. Moving "free(q)" down didn't affect anything. Whats the problem with SCHED_FIFO I wonder? PS Shit concentrating on thread and locks made me really blind! Alexey Salmin