Merge 3.3
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
index 5df7b67..5885fe2 100644
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -958,12 +958,13 @@
       ...     dir_fd = os.open(dirname, os.O_RDONLY)
       ...     def opener(path, flags):
       ...         return os.open(path, flags, dir_fd=dir_fd)
-      ...     return opener
+      ...     return opener, dir_fd
       ...
-      >>> opener = open_relative('somedir')
+      >>> opener, dir_fd = open_relative('somedir')
       >>> with open('spamspam.txt', 'w', opener=opener) as f:
       ...     print('This will be written to somedir/spamspam.txt', file=f)
       ...
+      >>> os.close(dir_fd)  # don't leak a file descriptor
 
    .. versionchanged:: 3.3
       The *opener* parameter was added.