python-poppler does not release the GIL

Bug #504240 reported by BenjaminBerg
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Poppler Python Bindings
Fix Committed
High
Gian Mario Tagliaretti

Bug Description

python-poppler does not release the GIL when doing long running operations like rendering pages. All the page_render* functions (and I guess get_thumbnail for example, too) should release the GIL with Py_BEGIN_ALLOW_THREADS and Py_END_ALLOW_THREADS.

I think I had some issues if I did not prevent multiple threads to render at the same time, so python-poppler should probably do some locking internally.

Changed in poppler-python:
assignee: nobody → Gian Mario Tagliaretti (gianmt)
importance: Undecided → High
status: New → Confirmed
Revision history for this message
Gian Mario Tagliaretti (gianmt) wrote :
Revision history for this message
BenjaminBerg (benjamin-sipsolutions) wrote :

Looks good to me. I was mostly interested in page_render and page_render_for_printing, and I did not look closely trough the list now ...

Changed in poppler-python:
status: Confirmed → Fix Committed
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.