Inter-Process Mutexes

Václav Haisman v.haisman@sh.cvut.cz
Mon Sep 4 11:15:00 GMT 2006


Drake Baker wrote:
> Gentlemen,
> 
> I have seen conflicting information on the web concerning inter-process
> mutexes in CYGWIN.  I have seen outright statements that it is not
> supported, and I have seen statements that ALL mutexes are inter-process
> by default.  Obviously, only one statement is currently correct.
> 
> The bottom line is that I have some shared memory and multiple processes
> -- basically a critical section.  I need a technique to implement the
> critical section, and preferably a solution that is portable.
> 
> I have tried for countless hours over the last few days before
> concluding that process shared mutexes don't exist in CYGWIN despite
> some google results implying they do.  (I hope I am wrong, and it does
> support them).
> 
> Any solution that will work in CYGWIN and a Linux box would be
> appreciated -- all I need is a critical section for mutliple processes.
> 
> Thank you in advance for your help!
> 
> -Drake
> 
> --- snippets for reference, in case my assumption is wrong (not actual
> code, simplified cuts)
> 
> ... initializing
> pthread_mutexattr_init(&mattr); // create default attributes, returns no
> error
> 
> pthread_mutexattr_setpshared(&mattr, PTHREAD_PROCESS_SHARED); // set for
> inter-process sharing (it is returning EINVAL)
> 
> pthread_mutex_init(&mutex, &mattr);  // init, returns no error
> 
> ... locking/etc...
> 
> pthread_mutex_lock(&mutex) // returns no error in process that init'd
> mutex, EINVAL in other processes
Cygwin has System V semaphores and shared memory. You can use that.

--
VH

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 542 bytes
Desc: OpenPGP digital signature
URL: <http://cygwin.com/pipermail/cygwin/attachments/20060904/fd0e5412/attachment.sig>


More information about the Cygwin mailing list