This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: eh-mt problems


> 
> 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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]