use gevent.lock instead of gevent.coros