#14862: Add missing names to os.__all__
diff --git a/Lib/os.py b/Lib/os.py
index af4990f..a1a35cd 100644
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -30,8 +30,9 @@
 
 # Note:  more names are added to __all__ later.
 __all__ = ["altsep", "curdir", "pardir", "sep", "pathsep", "linesep",
-           "defpath", "name", "path", "devnull",
-           "SEEK_SET", "SEEK_CUR", "SEEK_END"]
+           "defpath", "name", "path", "devnull", "SEEK_SET", "SEEK_CUR",
+           "SEEK_END", "fsencode", "fsdecode", "get_exec_path", "fdopen",
+           "popen", "extsep"]
 
 def _exists(name):
     return name in globals()
@@ -50,6 +51,7 @@
     from posix import *
     try:
         from posix import _exit
+        __all__.append('_exit')
     except ImportError:
         pass
     import posixpath as path
@@ -64,6 +66,7 @@
     from nt import *
     try:
         from nt import _exit
+        __all__.append('_exit')
     except ImportError:
         pass
     import ntpath as path
@@ -78,6 +81,7 @@
     from os2 import *
     try:
         from os2 import _exit
+        __all__.append('_exit')
     except ImportError:
         pass
     if sys.version.find('EMX GCC') == -1:
@@ -96,6 +100,7 @@
     from ce import *
     try:
         from ce import _exit
+        __all__.append('_exit')
     except ImportError:
         pass
     # We can use the standard Windows path.
@@ -700,6 +705,8 @@
     P_WAIT = 0
     P_NOWAIT = P_NOWAITO = 1
 
+    __all__.extend(["P_WAIT", "P_NOWAIT", "P_NOWAITO"])
+
     # XXX Should we support P_DETACH?  I suppose it could fork()**2
     # and close the std I/O streams.  Also, P_OVERLAY is the same
     # as execv*()?