Re: Howto pass exceptions between threads

2007-03-06 Thread Alexander Eisenhuth
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

2007-03-05 Thread John Nagle
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

2007-03-05 Thread Alexander Eisenhuth
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