This is the mail archive of the cygwin-xfree mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Mutex init failure trying to run Scribus


Brian Dessent wrote:
[snip]
>   if ((static_ptr1 && *object == static_ptr1) ||
>       (static_ptr2 && *object == static_ptr2) ||
>       (static_ptr3 && *object == static_ptr3))
>     return VALID_STATIC_OBJECT;
>   if ((*object)->magic != magic)

Changing the line above to:

   if ((*object) == NULL || (*object)->magic != magic)

reduces the number of SIGSEGV to just 2 (in the same place); that means this
inline function was de-referencing zero, like you said below.

>     return INVALID_OBJECT;
>   return VALID_OBJECT;
> 
> On the other hand, it would be nice to know what is calling
> pthread_key_create on a null pointer, since that sounds like a buglet,
> but due to the above it's a benign situation.

Looks like Qt3 does a pretty dumb initialization of what it calls pool of
mutexes, I'm still looking into this.  So far I've been unable to build the full
Qt3 toolset.

But thanks to your help I think I've advanced a bit.
-- 
René Berber


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://x.cygwin.com/docs/
FAQ:                   http://x.cygwin.com/docs/faq/


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