producer consumer deadlock