At the moment the GIL is not unlocked while sending to or receiving from a queue.
This has the effect that a call to get() while the queue is empty results in an immediate deadlock and the same goes for put() if the queue is full.

If the GIL was unlocked other parts of the application would still be able to run and the only change required would be to wrap the calls to xQueueSend/xQueueReceive with MP_THREAD_GIL_EXIT and MP_THREAD_GIL_ENTER calls in moduqueue.c.