From: Dmitry Smirnov (basilisk_at_[hidden])
Date: 2006-07-08 05:07:17
1. If you hasn't semaphore support in your glibc libraries (in my case
it was without TLS) "sem_open" function will return (sem_t*)0 instead of
(sem_t*)-1 as it is described in my system header "semaphore.h".
Plese correct file "shared_memory.hpp" for using SEM_FAILED macros.
Defines in "semaphore.h":
/* Value returned if `sem_open' failed. */
#define SEM_FAILED ((sem_t *) 0)
/* Maximum value the semaphore can have. */
#define SEM_VALUE_MAX (2147483647)
2. Unclear sinuation. I wrote bugous example program where I write some
data in shared_message_queue in infinity cycle without any timeout.
If you stop program by Ctrl+C "boost_shmem_shm_global_mutex" stays in
locked state so program will not work from second start. If you include
some timeout in cycle then program will work properly.
Thank you for good job! \o/
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk