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