PTHREAD_MUTEX_SHARED on Cygwin

Marco Atzeri marco.atzeri@gmail.com
Sat Jan 9 20:24:42 GMT 2021


On 09.01.2021 19:23, Thomas Koenig via Cygwin wrote:
> 
> Hi,
> 
> there is a branch of gfortran for implementing coarrays based on a
> shared memory implementation instead of MPI, the devel_coarray/native
> branch.
> 
> I tried it out on Cygwin, but it doesn't work there (hangs on the
> first sync).
> 
> The branch uses pthread mutexes and condition variables
> with PTHREAD_PROCESS_SHARED for synchronization between processes.
> 
> I also ran the attached test program, which gave the output
> 
> pthread_mutexattr_setpshared(&mattr, PTHREAD_PROCESS_SHARED)failed: No 
> error
> 
> 
> Is it correct that PTHREAD_PROCESS_SHARED is not supported on
> Cygwin?  Is it supported for condition variables, or is the fact
> that it is reported as working an oversight?
> 
> If PTHREAD_PROCESS_SHARED does not work, are there known workarounds?
> 
> Best regards
> 
>      Thomas
> 

some time ago I worked on a similar shared memory issue on Fortran

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=47030

but I was never able to fully follow-up
and it seems my patch was incomplete, and caused

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89079

so it is possible that this issue is also impacting
your problem.

Regards
Marco



More information about the Cygwin mailing list