Is the PyThreadState* of the main python thread expected to be NULL?

I have a python program that calls into a c++ library, which wishes to release all the python locks so that other python threads can run. Using PyEval_SaveThread and PyEval_ReleaseThread I get err...