No subject


Fri Aug 12 09:01:57 CEST 2011


problem is allocating resources inside pthread_mutex_init, actually in
objectallocate.c -> chainget.c -> chain.inl.

At first, I though the problem was related to RTEMS running out of
memory (and even tried to increase QEMU memory), but after taking a
look to chain.inl, I think that the problem may be the omni_mutex
constructor calling pthread_mutex_init and therefore allocating
resources before RTEMS is completly ready. Although, RTEMS is the one
calling __do_global_ctors_aux.

I hope any of you can spread some light. In the meantime, what I have
in mind is modify omniORB and delay the pthread_mutex_init call in
omni_mutex.

Kind regards,
Ana

P.S. In order to simplify the understanding of the problem, I attach
the code from mutexinit.c (http://pastebin.com/cC6G2UjF), and since
_Thread_Disable_dispatch(), _POSIX_Mutex_Allocate() and
_Thread_Enable_dispatch() are inline functions, I also attached the
unrolled version (http://pastebin.com/MxwXCCj5).


More information about the Rock-dev mailing list