@@ -80,8 +80,7 @@ struct BridgeAudioPool { | |||||
shm = carla_shm_create_temp(tmpFileBase); | shm = carla_shm_create_temp(tmpFileBase); | ||||
if (! carla_is_shm_valid(shm)) | |||||
return false; | |||||
CARLA_SAFE_ASSERT_RETURN(carla_is_shm_valid(shm), false); | |||||
filename = tmpFileBase; | filename = tmpFileBase; | ||||
return true; | return true; | ||||
@@ -162,8 +161,7 @@ struct BridgeRtClientControl : public CarlaRingBufferControl<SmallStackBuffer> { | |||||
shm = carla_shm_create_temp(tmpFileBase); | shm = carla_shm_create_temp(tmpFileBase); | ||||
if (! carla_is_shm_valid(shm)) | |||||
return false; | |||||
CARLA_SAFE_ASSERT_RETURN(carla_is_shm_valid(shm), false); | |||||
if (! mapData()) | if (! mapData()) | ||||
{ | { | ||||
@@ -296,8 +294,7 @@ struct BridgeNonRtClientControl : public CarlaRingBufferControl<BigStackBuffer> | |||||
shm = carla_shm_create_temp(tmpFileBase); | shm = carla_shm_create_temp(tmpFileBase); | ||||
if (! carla_is_shm_valid(shm)) | |||||
return false; | |||||
CARLA_SAFE_ASSERT_RETURN(carla_is_shm_valid(shm), false); | |||||
if (! mapData()) | if (! mapData()) | ||||
{ | { | ||||
@@ -28,13 +28,17 @@ | |||||
bool jackbridge_sem_init(void* sem) noexcept | bool jackbridge_sem_init(void* sem) noexcept | ||||
{ | { | ||||
#if defined(JACKBRIDGE_DUMMY) | |||||
#ifdef JACKBRIDGE_DUMMY | |||||
return false; | return false; | ||||
#else | #else | ||||
sem_t* const sema(carla_sem_create()); | sem_t* const sema(carla_sem_create()); | ||||
CARLA_SAFE_ASSERT_RETURN(sema != nullptr, false); | CARLA_SAFE_ASSERT_RETURN(sema != nullptr, false); | ||||
# ifdef CARLA_OS_MAC | |||||
std::memcpy(sem, &sema, sizeof(sem_t*)); | |||||
# else | |||||
std::memcpy(sem, sema, sizeof(sem_t)); | std::memcpy(sem, sema, sizeof(sem_t)); | ||||
# endif | |||||
return (sema != nullptr); | return (sema != nullptr); | ||||
#endif | #endif | ||||
} | } | ||||
@@ -58,6 +62,7 @@ bool jackbridge_sem_post(void* sem) noexcept | |||||
bool jackbridge_sem_timedwait(void* sem, uint secs, bool* timedOut) noexcept | bool jackbridge_sem_timedwait(void* sem, uint secs, bool* timedOut) noexcept | ||||
{ | { | ||||
CARLA_SAFE_ASSERT_RETURN(timedOut != nullptr, false); | CARLA_SAFE_ASSERT_RETURN(timedOut != nullptr, false); | ||||
#ifdef JACKBRIDGE_DUMMY | #ifdef JACKBRIDGE_DUMMY | ||||
return false; | return false; | ||||
#else | #else | ||||
@@ -76,6 +81,7 @@ bool jackbridge_sem_timedwait(void* sem, uint secs, bool* timedOut) noexcept | |||||
bool jackbridge_shm_is_valid(const void* shm) noexcept | bool jackbridge_shm_is_valid(const void* shm) noexcept | ||||
{ | { | ||||
CARLA_SAFE_ASSERT_RETURN(shm != nullptr, false); | CARLA_SAFE_ASSERT_RETURN(shm != nullptr, false); | ||||
#ifdef JACKBRIDGE_DUMMY | #ifdef JACKBRIDGE_DUMMY | ||||
return false; | return false; | ||||
#else | #else | ||||
@@ -56,9 +56,9 @@ sem_t* carla_sem_create() noexcept | |||||
return sem; | return sem; | ||||
#elif defined(CARLA_OS_MAC) | #elif defined(CARLA_OS_MAC) | ||||
static ulong sCounter = 0; | static ulong sCounter = 0; | ||||
++sCounter; | |||||
std::srand(static_cast<uint>(std::time(nullptr))); | |||||
if (++sCounter == 1) | |||||
std::srand(static_cast<uint>(std::time(nullptr))); | |||||
char strBuf[0xff+1]; | char strBuf[0xff+1]; | ||||
carla_zeroChar(strBuf, 0xff+1); | carla_zeroChar(strBuf, 0xff+1); | ||||
@@ -282,6 +282,7 @@ shm_t carla_shm_create_temp(char* const fileBase) noexcept | |||||
#else | #else | ||||
if (errno == EEXIST) | if (errno == EEXIST) | ||||
continue; | continue; | ||||
carla_stderr("carla_shm_create_temp(%s) - failed, error code %i", fileBase, errno); | |||||
#endif | #endif | ||||
// some unknown error occurred, return null | // some unknown error occurred, return null | ||||