queue: don't unlock mutex before call alloc callback