wine-pthread hangs

Jeremy Shaw jeremy.shaw at lindows.com
Sat Nov 15 20:44:32 CST 2003


Hello,

I did some experiments, and I believe that something did get broken in
the recent changes -- specifically, libjack is now calling the real
pthread functions instead of the wine emulated functions.

In cvs head, in loader/kthread.c, in pthread_create() I added a
P_OUTPUT. I never see 'pthread_create' get printed.

int pthread_create(pthread_t* thread, const pthread_attr_t* attr, void*
        (*start_routine)(void *), void* arg)
{
    assert( funcs.ptr_pthread_create );
    P_OUTPUT("pthread_create.\n");
    return funcs.ptr_pthread_create( thread, attr, start_routine, arg );
}


In wine-20030618, in schedular/pthread.c, in pthread_create() I added
a similar P_OUTPUT statement, and I did see 'pthread_create get
printed.' In addition, the pthread_create() function actually
returned.

I ran nm on wine-kthread, and pthread_create() is defined:

3c0014b0 T pthread_create

Any idea how I can get things working again? I assume this is some
sort of linking issue, but I don't know where to go from here...

Jeremy Shaw.

At Sat, 15 Nov 2003 16:44:00 -0800,
Alexandre Julliard wrote:
> 
> Jeremy Shaw <jeremy.shaw at lindows.com> writes:
> 
> > So, if winejack.drv.so requires libjack which is linked against
> > libpthread -- should it work with wine-kthread? And, if it does work,
> > will libjack be calling the real pthread functions in libpthread or
> > the emulated pthread functions in wine?
> 
> Yes it should work with wine-kthread, and it will call the emulated
> pthread functions. At least that's the theory, it's quite possible
> that with all the recent changes something got broken; but in any case
> using wine-pthread instead won't do what you want.
> 
> -- 
> Alexandre Julliard
> julliard at winehq.com



More information about the wine-devel mailing list