New submission from Joel Croteau <jcrot...@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 <rep...@bugs.python.org>
<https://bugs.python.org/issue36717>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to