Re: Howto pass exceptions between threads
John Nagle schrieb: > Alexander Eisenhuth wrote: >> Hallo Alltogether, >> >> I've searched in this mailing list, but it seems to me that there is >> no general approach to pass exceptions from one thread to another. > >Very few languages have that. > >Actually, it could be made to work for Python, but it would have to > be carefully designed. Something that raises an exception in another > thread the next time the thread blocks would have relatively sane > semantics. You couldn't raise an exception on a compute-bound thread, > only at block points (locks, I/O, long system calls.) > > John Nagle Yes you're right, it must be well designed with a clear responsibility delegation. I can imgagine the following points: - Thread termination with termination handler (for Thread instance) - Main Thread information / synchronisation - Default/Customized main thread exception handler -- http://mail.python.org/mailman/listinfo/python-list
Re: Howto pass exceptions between threads
Alexander Eisenhuth wrote: > Hallo Alltogether, > > I've searched in this mailing list, but it seems to me that there is no > general approach to pass exceptions from one thread to another. Very few languages have that. Actually, it could be made to work for Python, but it would have to be carefully designed. Something that raises an exception in another thread the next time the thread blocks would have relatively sane semantics. You couldn't raise an exception on a compute-bound thread, only at block points (locks, I/O, long system calls.) John Nagle -- http://mail.python.org/mailman/listinfo/python-list
Howto pass exceptions between threads
Hallo Alltogether, I've searched in this mailing list, but it seems to me that there is no general approach to pass exceptions from one thread to another. I think most application do a unique way of handling "unhandled exceptions", at least they (should) try to log them. The following discussion seems to me most valuable (Sorry for the long URL, I don't know a way of shorter) http://groups.google.de/group/comp.lang.python/browse_frm/thread/a2ebb2a2f611779b/4b820c20ff3fcea8?lnk=gst&q=%2Bexception+%2Bthread&rnum=6&hl=de#4b820c20ff3fcea8 http://groups.google.de/group/comp.lang.python/browse_frm/thread/2c61c06795f525f3/348a8d9e85883fe3?lnk=gst&q=pass+%2Bexception+%2Bthread&rnum=1&hl=de#348a8d9e85883fe3 I've the feeling that if you're using the python class threading.Thread you've a unique interface of handling it. (thread synchronizing + exception raising) But' when you've a C++ extension, that uses it's own thread implementation and your exceptions happens in python code (but from a thread that is controlled by your extension) you have another problem. Maybe I've overseen something in the python docu, so I ask for the solutions, concepts, hints ... you solved the problem. Regards Alexander -- http://mail.python.org/mailman/listinfo/python-list