[New-bugs-announce] [issue36717] Allow retrieval of return value from the target of a threading.Thread

Joel Croteau report at bugs.python.org
Wed Apr 24 20:22:54 EDT 2019


New submission from Joel Croteau <jcroteau at gmail.com>:

It would be nice if, after a threading.Thread has completed its run, it were possible to retrieve the return value of the target function. You can do this currently by setting a variable from your target or by subclassing Thread, but this should really be built in. My suggested changes:
* Add an attribute to Thread, retval, initially set to None, that contains the return value of the target after a successful completion.
* Thread.run() should set self.retval to the return value of the target upon completion, and also return this value.
* Thread.join() should return self.retval after a successful completion.

If you're not using Thread.join(), you can directly access Thread.retval to get the return result after a successful run. Thread.run() and Thread.join() both return None in all cases now, so I think a change in their return value would have minimal if any effect on existing code.

----------
components: Library (Lib)
messages: 340815
nosy: Joel Croteau2
priority: normal
severity: normal
status: open
title: Allow retrieval of return value from the target of a threading.Thread
type: enhancement
versions: Python 3.8

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue36717>
_______________________________________


More information about the New-bugs-announce mailing list