3 from eventlet.support import greenlets
7 """ Get the error code out of socket.error objects.
8 socket.error in <2.5 does not have errno attribute
9 socket.error in 3.x does not allow indexing access
10 e.args[0] works for all.
11 There are cases when args[0] is not errno.
12 i.e. http://bugs.python.org/issue6471
13 Maybe there are cases when errno is set, but it is not the first argument?
17 if exc.errno is not None:
19 except AttributeError:
27 if sys.version_info[0] < 3 and not greenlets.preserves_excinfo:
28 from sys import exc_clear as clear_sys_exc_info
30 def clear_sys_exc_info():
32 Exception information is not visible outside of except statements.
33 sys.exc_clear became obsolete and removed."""