http://bugs.python.org/issue5552
Return None rather than raise an exception if os.device_error is given an invalid file descriptor.
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 4731b81..1d1e299 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -6830,9 +6830,7 @@
 	int fd;
 	if (!PyArg_ParseTuple(args, "i:device_encoding", &fd))
 		return NULL;
-	if (!_PyVerify_fd(fd))
-		return posix_error();
-	if (!isatty(fd)) {
+	if (!_PyVerify_fd(fd) || !isatty(fd)) {
 		Py_INCREF(Py_None);
 		return Py_None;
 	}