| @@ -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 | ||||