Jamis Buck wrote:
> ts wrote:
> 
>>>>>>> "J" == Jamis Buck <jgb3 / email.byu.edu> writes:
>>
>>
>>
>> J> Thanks for the suggestions, Brian. Any other ideas? How do Perl or 
>> J> Python deal with pthreads? Any chance a clue could be gleaned from 
>> those?
>>
>>  Well, try to look if it don't exist a bad interaction on HP/UX between
>>  setjmp/longjmp and pthread (know problem ???). This seems really 
>> specific
>>  to HP/UX
> 
> 
> I haven't seen any such reports, which surprised me. In particular, it 
> appears that Oracle uses pthread, and it runs without problems on HPUX 
> (we use it in production, with--at peak times--millions of hits per day 
> to our DB servers) Of course, Oracle may not be using setjmp/longjmp.

I did just encounter the following statements in a man page on 
"pthread_cleanup_pop":

    Calling longjmp() or siglongjmp() is undefined if there have
    been any calls to pthread_cleanup_push() or pthread_cleanup_pop()
    made without the matching call since the jump buffer was filled.

    Calling longjmp() or siglongjmp() from inside a cancellation
    cleanup handler results in undefined behavior unless the
    corresponding setjmp() or sigsetjmp() was also done inside the
    cancellation cleanup handler.

I guess I have no idea if any of this applies, since I haven't yet done 
any looking to see what "--enable-pthread" does to the source code.

- Jamis

-- 
Jamis Buck
jgb3 / email.byu.edu
http://www.jamisbuck.org/jamis