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

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

Reply via email to