pthread_cond_signal function is missing on Windows port

Open forum for general discussions relating to PLASMA.

pthread_cond_signal function is missing on Windows port

Postby joshua_mora » Mon Feb 11, 2013 7:42 am

Hi,
pthread API for Windows is implemented in quarkwinthread
but
pthread_cond_signal function is missing in quarkwinthread.c

That is the only function that prevents the build under Windows with VS.

Joshua
joshua_mora
 
Posts: 7
Joined: Mon Nov 26, 2012 10:23 am

Re: pthread_cond_signal function is missing on Windows port

Postby yarkhan » Mon Feb 11, 2013 3:54 pm

Hi Joshua,

As you can tell, the Windows port for QUARK is out of date.
We implemented a subset of the Pthreads so that users would not have to
be concerned with installing their own threads library.
However, we don't have the resources to focus on the Windows port at
present, but there may be a couple of simple (untested by us) solutions.

You could consider linking with the Pthread-Win32 library (LGPL licensed)
http://www.sourceware.org/pthreads-win32/

Or, there is a header based implementation that should be an easy drop-in.
Replace quarkwinthread.h with the file at
http://locklessinc.com/articles/pthreads_on_windows/ (BSD licensed)
http://locklessinc.com/downloads/
Remove quarkwinthread.c from the build.

Please let us know if these suggestions worked for you.
Regards,
Asim
yarkhan
 
Posts: 15
Joined: Thu Oct 01, 2009 10:38 am

Re: pthread_cond_signal function is missing on Windows port

Postby joshua_mora » Tue Feb 12, 2013 11:02 am

Thanks Asim.
I just tried both.

http://locklessinc.com I run into compilation problems.

http://www.sourceware.org/pthreads-win32/ works fine.
Just removing quarkwinthread.[h/c] and replacing #include to point to pthread.h then linking against provided static libray and making sure the PATH var points to the directory with dlls of pthread\dlls\[arch].

Joshua
joshua_mora
 
Posts: 7
Joined: Mon Nov 26, 2012 10:23 am


Return to User discussion

Who is online

Users browsing this forum: jianqayn and 1 guest

cron