This is the mail archive of the cygwin mailing list for the Cygwin project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Fri, 22 Feb 2019 at 17:01, Glyn Gowing <> wrote: > I have a program (attached) that works correctly on my mac but does > not work with Cygwin on Windows 10. I'm running the latest version of > What happens in the buggy execution is that the child obtains a lock > before the parent releases it. I'm using mmap and a pthread_mutex_t > object along with fork(). Again, this exact code works correctly on my > Mac running Mojave. On further analysis, the call to > pthread_mutexattr_setpshared(attr, PTHREAD_PROCESS_SHARED); is failing. The error is EINVAL (22) Invalid argument. This suggests that pthread mutexes cannot be shared between processes by using shared memory in cygwin. I have not attempted to determine if this is working as expected, or if this is a bug, or a limitation in the Windows environment. I have attached my files: smtest2.c - my heavily modified version of OP's original. smtest2.txt - output from running this version.showing error. smtest3.c - my version which uses 2 pthreads in a single process smtest3.txt - output from running this version, showing OP's expected results. HTH Doug
Attachment:
smtest2.txt
Description: Text document
Attachment:
smtest3.c
Description: Binary data
Attachment:
smtest3.txt
Description: Text document
Attachment:
smtest2.c
Description: Binary data
-- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |