deadlock might happen, you're blocking while holding a lock, another goroutine is waiting on the lock while holding your channel. i'm not saying it happens in this case, haven't looked too closely. i don't think you need to do it in this case, so it's safer not to do it