Yes, calls to C extensions (C routines called from Python) are still subject to the GIL.
However, you can manually release the GIL inside your C extension, so long as you are careful to re-assert it before returning control to the Python VM.
For information, take a look at the Py_BEGIN_ALLOW_THREADS
and Py_END_ALLOW_THREADS
macros: http://docs.python.org/c-api/init.html#thread-state-and-the-global-interpreter-lock