add goroutine safety to the unbuffered client (buffered client was already lock protected)