Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove GIL to avoid deadlocks when calling CEF functions #102

Closed
GoogleCodeExporter opened this issue Aug 28, 2015 · 2 comments
Closed

Remove GIL to avoid deadlocks when calling CEF functions #102

GoogleCodeExporter opened this issue Aug 28, 2015 · 2 comments

Comments

@GoogleCodeExporter
Copy link

In the pxd file, function needs to be defined as "nogil". In the pyx file the call must use the "with nogil" statement.

From Cython's documentation:

Note that acquiring the GIL is a blocking thread-synchronising operation, and therefore potentially costly. It might not be worth releasing the GIL for minor calculations. Usually, I/O operations and substantial computations in parallel code will benefit from it.

Revision ec1ce78 removes the GIL lock from the following calls: Initialize(), Shutdown(), CreateBrowserSync(), SetOsModalLoop(), QuitMessageLoop(), CefExecuteProcess().

Keeping this issue Open, as there still might be some functions from which the GIL lock should also be removed.

Original issue reported on code.google.com by [email protected] on 8 Jan 2014 at 11:15

@GoogleCodeExporter
Copy link
Author

Revision ec1ce788373b removes the GIL lock from the following calls: 
Initialize(), Shutdown(), CreateBrowserSync(), SetOsModalLoop(), 
QuitMessageLoop(), CefExecuteProcess().

Keeping this issue Open, as there still might be some functions from which the 
GIL lock should also be removed.

Original comment by [email protected] on 8 Jan 2014 at 11:37

@cztomczak
Copy link
Owner

Add GIL section to Contributing-code.md document in commit a5d97f0.

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

No branches or pull requests

2 participants