Previous PropagateError.__init__() failed to call Exception.__init__() at all. Moreover, as described in https://bugs.python.org/issue1692335, setting self.args is important for an Exception subclass with nonstandard constructor arguments. When an Exception subclass sets self.args, it makes the subclass pickleable -- but instead of str(instance) returning the string passed to Exception.__init__(), it instead returns the string representation of self.args. So capture the message string, and in addition to passing it to Exception.__init__(), also override __str__() and return the same string. https://github.com/eventlet/eventlet/pull/359
26 KiB
26 KiB