◐ Shell
clean mode source ↗

Message 124497 - Python tracker

Reference counting is not always correct.  For example, in unlinkat

    if (res < 0)
        return posix_error();
    Py_DECREF(opath);
    (return None)

the DECREF should be before the error check.  (Note that you can use the Py_RETURN_NONE macro to save INCREF'ing Py_None explicitly.)

Sometimes you use posix_error, sometimes posix_error_with_allocated_filename; is that deliberate?

Also, the documentation for each function should get ".. versionadded:: 3.3" tags.

Otherwise, this looks good and ready for inclusion when py3k is open for new features again.