Re: [Mingw-w64-public] Shared semaphores

2013-11-07 Thread LRN
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 07.11.2013 22:00, Edscott Wilson wrote: Ok. So I now I ran more tests. To start with, I replaced the unnamed process-shared semaphore for a more compatible named semaphore, which by definition is process-shared. The code works fine in Linux and

Re: [Mingw-w64-public] Shared semaphores

2013-11-07 Thread LRN
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 07.11.2013 22:34, LRN wrote: On 07.11.2013 22:00, Edscott Wilson wrote: Ok. So I now I ran more tests. To start with, I replaced the unnamed process-shared semaphore for a more compatible named semaphore, which by definition is

Re: [Mingw-w64-public] Shared semaphores

2013-11-07 Thread Edscott Wilson
No need to be sorry. Great stuff, this MinGW-w64. As soon as I cook up some wrapper code and test it in libtubo, I'll post it for your review. 2013/11/7 LRN lrn1...@gmail.com -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 07.11.2013 22:34, LRN wrote: On 07.11.2013 22:00, Edscott

Re: [Mingw-w64-public] Shared semaphores

2013-11-06 Thread niXman
Ruben Van Boxem писал 2013-11-05 23:57: You can get MinGW-w64 from here: http://sourceforge.net/projects/mingwbuilds/files/mingw-builds-install/mingw-builds-install.exe Or seperate downloads via here: http://mingw-w64.sourceforge.net/download.php#mingw-builds Previously I reported about

Re: [Mingw-w64-public] Shared semaphores

2013-11-05 Thread Edscott Wilson
2013/11/4 LRN lrn1...@gmail.com What CreateSemaphore() uses internally is anyone's guess. It might be CreateFileMapping(), it might be not. If it goes into kernel side, then it may as well use something more efficient there. libwinpthreads uses CreateSemaphore() internally, so if you'd use

Re: [Mingw-w64-public] Shared semaphores

2013-11-05 Thread Ruben Van Boxem
2013/11/5 Edscott Wilson edscott.wilson.gar...@gmail.com 2013/11/4 LRN lrn1...@gmail.com What CreateSemaphore() uses internally is anyone's guess. It might be CreateFileMapping(), it might be not. If it goes into kernel side, then it may as well use something more efficient there.

Re: [Mingw-w64-public] Shared semaphores

2013-11-05 Thread Edscott Wilson
2013/11/5 Ruben Van Boxem vanboxem.ru...@gmail.com If you have pthreadGC2.dll, you are not using winpthreads, but pthreads-win32, an older and completely different project. What toolchain are you using? I don't think you're using MinGW-w64, but the older and less complete MinGW(.org). You

Re: [Mingw-w64-public] Shared semaphores

2013-11-04 Thread Edscott Wilson
Well I did my testing of semaphores to release a windows version of libtubo (http://xffm.org/libtubo.html) and these are my two cents. 1- Shared semaphores (shared between heavy weight processes). In Linux, a shared semaphore must be placed in shared memory. This is easy, since the shm_ family of

Re: [Mingw-w64-public] Shared semaphores

2013-11-04 Thread Kai Tietz
Hi Edscott, thanks for testing this. I just have one small question about one paragraph. 2013/11/4 Edscott Wilson edscott.wilson.gar...@gmail.com: 2- Local semaphores (shared only between threads). Posix semaphores in Mingw seem to be subject to race conditions not present in Linux or

Re: [Mingw-w64-public] Shared semaphores

2013-11-04 Thread Edscott Wilson
As I understand it, all it takes to get a POSIX semaphore in windows is to include semaphore.h and link with -lpthread. Windows semaphores are defined in windows.h. Since POSIX semaphores are in libpthread, they would be pthread semaphores. Nonetheless, I think they have a different flavor. The

Re: [Mingw-w64-public] Shared semaphores

2013-11-04 Thread Kai Tietz
Ah, right. I missed that we provide here semaphore-API, too. I wouldn't call that API posix ... but yes, this is a bare-layer to be used carefully ... we implement in winpthread nearly all more complex stuff based on the sem-API. 2013/11/4 Edscott Wilson edscott.wilson.gar...@gmail.com: As I

Re: [Mingw-w64-public] Shared semaphores

2013-11-04 Thread Edscott Wilson
2013/11/4 Kai Tietz ktiet...@googlemail.com Pthread_ stuff applies only to threads, created with pthread_create. While semaphores may apply to independent processes. As far as I recall, semaphores require interaction with the kernel, while pthread stuff is contained within the running

Re: [Mingw-w64-public] Shared semaphores

2013-11-04 Thread LRN
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 04.11.2013 20:19, Edscott Wilson wrote: Well I did my testing of semaphores to release a windows version of libtubo (http://xffm.org/libtubo.html) and these are my two cents. 1- Shared semaphores (shared between heavy weight processes). In

[Mingw-w64-public] Shared semaphores

2013-10-21 Thread Edscott Wilson
In Linux, you can get a piece of shared memory, put a posix semaphore in there, and use it amongst independent processes. This is done by setting the second parameter of sem_init() to 1. In FreeBSD this functionality is not supported (at least the last time I looked). Does anybody on the list

Re: [Mingw-w64-public] Shared semaphores

2013-10-21 Thread LRN
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 21.10.2013 20:32, Edscott Wilson wrote: In Linux, you can get a piece of shared memory, put a posix semaphore in there, and use it amongst independent processes. This is done by setting the second parameter of sem_init() to 1. In FreeBSD this