diff -up Python-2.7/Doc/c-api/file.rst.gil Python-2.7/Doc/c-api/file.rst --- Python-2.7/Doc/c-api/file.rst.gil 2009-02-02 09:01:17.000000000 +0100 +++ Python-2.7/Doc/c-api/file.rst 2010-10-14 22:46:28.000000000 +0200 @@ -63,7 +63,7 @@ change in future releases of Python. Return the file object associated with *p* as a :ctype:`FILE\*`. If the caller will ever use the returned :ctype:`FILE\*` object while - the GIL is released it must also call the :cfunc:`PyFile_IncUseCount` and + the :term:`GIL` is released it must also call the :cfunc:`PyFile_IncUseCount` and :cfunc:`PyFile_DecUseCount` functions described below as appropriate. @@ -76,10 +76,19 @@ change in future releases of Python. finished with the :ctype:`FILE\*`. Otherwise the file object will never be closed by Python. - The GIL must be held while calling this function. + The :term:`GIL` must be held while calling this function. - The suggested use is to call this after :cfunc:`PyFile_AsFile` just before - you release the GIL. + The suggested use is to call this after :cfunc:`PyFile_AsFile` and before + you release the GIL:: + + FILE *fp = PyFile_AsFile(p); + PyFile_IncUseCount(p); + (...) + Py_BEGIN_ALLOW_THREADS + do_something(fp); + Py_END_ALLOW_THREADS + (...) + PyFile_DecUseCount(p); .. versionadded:: 2.6 @@ -90,7 +99,8 @@ change in future releases of Python. indicate that the caller is done with its own use of the :ctype:`FILE\*`. This may only be called to undo a prior call to :cfunc:`PyFile_IncUseCount`. - The GIL must be held while calling this function. + The :term:`GIL` must be held while calling this function (see the example + above). .. versionadded:: 2.6 diff -up Python-2.7/Doc/c-api/init.rst.gil Python-2.7/Doc/c-api/init.rst --- Python-2.7/Doc/c-api/init.rst.gil 2010-06-14 17:58:39.000000000 +0200 +++ Python-2.7/Doc/c-api/init.rst 2010-10-14 16:23:07.000000000 +0200 @@ -413,6 +413,7 @@ Thread State and the Global Interpreter ============================================ .. index:: + single: GIL single: global interpreter lock single: interpreter lock single: lock, interpreter