This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: eh-mt problems
- To: egcs at cygnus dot com
- Subject: Re: eh-mt problems
- From: hjl at lucon dot org (H.J. Lu)
- Date: Thu, 15 Jan 1998 16:27:44 -0800 (PST)
- Cc: tot at trema dot com, S dot Lo at orl dot co dot uk
>
> Hi Teemu,
>
> Here are two letters from Sai-Lai Lo (mailto:S.Lo@orl.co.uk), the
> maintainer
> of omniORB project. They might me interesting for you:
>
>
> % ./prog
> omni_thread::init: posix 1003.4a/1003.1c (draft 10) implementation
> initialising
> initial thread 0
> A ctor
> B ctor
> A ctor
> omni_thread_wrapper: thread 1 started
> omni_thread_wrapper: thread 2 started
> omni_thread_wrapper: thread 3 started
> g1 throw exc 10
> f1 got exc 10
> A got exc 10
> omni_thread::exit: thread 1 detached 1 return value (nil)
> A dtor
> destructor called for thread 1
> g1 throw exc 10
> f1 got exc 10
> A got exc 10
> omni_thread::exit: thread 3 detached 1 return value (nil)
> A dtor
> destructor called for thread 3
> zsh: segmentation fault ./prog
> %
>
FWIW, I tried this code on Linux/x86/glibc 2. I got
# gcc -I/opt/omni/include prog.cc -L/opt/omni/lib -lomnithread -lstdc++
# ldd a.out
libomnithread.so.2 => /opt/omni/lib/libomnithread.so.2 (0x40016000)
libstdc++.so.2.8 => /usr/lib/libstdc++.so.2.8 (0x4001c000)
libc.so.6 => /lib/libc.so.6 (0x40069000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
libpthread.so.0 => /lib/libpthread.so.0 (0x40142000)
libm.so.6 => /lib/libm.so.6 (0x4014e000)
# a.out
A ctor
B ctor
A ctor
g1 throw exc 10
f1 got exc 10
A got exc 10
A dtor
g1 throw exc 10
f1 got exc 10
A got exc 10
A dtor
g2 throw exc 5
f2 got exc 5
B got exc 5
B dtor
#
BTW, I am using egcs 980113 in the egcs CVS repository.
H.J.