Hi, I should have mentioned that this is untested! Which also explains the missing { ... =:-) > + while(ast_mutex_trylock(&p->owner->lock)) ^ > + ast_mutex_unlock(&p->lock); > + usleep(1); > + ast_mutex_lock(&p->lock); > + } Cya, Florian