Skip to content

Conversation

TylerWilley
Copy link
Contributor

Gevent patches Lock objects such that when acquire is called on a lock, the context can switch to other coroutines.
Gevent also allows you to set a Timeout on executing code.

If you set a Timeout, and the Timeout is raised during this lock's acquire() section, then pymongo will have acquired _socket_semaphore, but not released it. Thus permanently losing a count on the semaphore.

@ShaneHarvey
Copy link
Member

Did you determine that this was not an issue in pymongo?

@TylerWilley
Copy link
Contributor Author

TylerWilley commented Jul 24, 2020 via email

@TylerWilley
Copy link
Contributor Author

TylerWilley commented Jul 24, 2020 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants