|
|
@@ -32,8 +32,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
|
|
|
|
|
|
|
#if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) |
|
|
|
#define JACK_SEM_PREFIX "/jack_sem" |
|
|
|
#define SEM_DEFAULT_O 0 |
|
|
|
#else |
|
|
|
#define JACK_SEM_PREFIX "jack_sem" |
|
|
|
#define SEM_DEFAULT_O O_RDWR |
|
|
|
#endif |
|
|
|
|
|
|
|
namespace Jack |
|
|
@@ -152,7 +154,7 @@ bool JackPosixSemaphore::Allocate(const char* name, const char* server_name, int |
|
|
|
BuildName(name, server_name, fName, sizeof(fName)); |
|
|
|
jack_log("JackPosixSemaphore::Allocate name = %s val = %ld", fName, value); |
|
|
|
|
|
|
|
if ((fSemaphore = sem_open(fName, O_CREAT | O_RDWR, 0777, value)) == (sem_t*)SEM_FAILED) { |
|
|
|
if ((fSemaphore = sem_open(fName, O_CREAT | SEM_DEFAULT_O, 0777, value)) == (sem_t*)SEM_FAILED) { |
|
|
|
jack_error("Allocate: can't check in named semaphore name = %s err = %s", fName, strerror(errno)); |
|
|
|
return false; |
|
|
|
} else { |
|
|
@@ -180,7 +182,7 @@ bool JackPosixSemaphore::ConnectInput(const char* name, const char* server_name) |
|
|
|
return true; |
|
|
|
} |
|
|
|
|
|
|
|
if ((fSemaphore = sem_open(fName, O_RDWR)) == (sem_t*)SEM_FAILED) { |
|
|
|
if ((fSemaphore = sem_open(fName, SEM_DEFAULT_O)) == (sem_t*)SEM_FAILED) { |
|
|
|
jack_error("Connect: can't connect named semaphore name = %s err = %s", fName, strerror(errno)); |
|
|
|
return false; |
|
|
|
} else if (fSemaphore) { |
|
|
|