diff --git a/damus.xcodeproj/project.pbxproj b/damus.xcodeproj/project.pbxproj index adfb6c9f..9b096ad4 100644 --- a/damus.xcodeproj/project.pbxproj +++ b/damus.xcodeproj/project.pbxproj @@ -5034,6 +5034,8 @@ GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", + "MDB_SHORT_SEMNAMES=1", + "MDB_SEM_NAME_PREFIX=\"group.com.damus\"", "$(inherited)", ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; @@ -5097,7 +5099,10 @@ ENABLE_USER_SCRIPT_SANDBOXING = NO; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; - "GCC_PREPROCESSOR_DEFINITIONS[arch=*]" = ""; + GCC_PREPROCESSOR_DEFINITIONS = ( + "MDB_SHORT_SEMNAMES=1", + "MDB_SEM_NAME_PREFIX=\"group.com.damus\"", + ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; diff --git a/nostrdb/mdb.c b/nostrdb/mdb.c index deb67796..c9614a30 100644 --- a/nostrdb/mdb.c +++ b/nostrdb/mdb.c @@ -4893,8 +4893,17 @@ mdb_env_setup_locks(MDB_env *env, MDB_name *fname, int mode, int *excl) #ifdef MDB_SHORT_SEMNAMES encbuf[9] = '\0'; /* drop name from 15 chars to 14 chars */ #endif - sprintf(env->me_txns->mti_rmname, "/MDBr%s", encbuf); - sprintf(env->me_txns->mti_wmname, "/MDBw%s", encbuf); + +#define DEF_STR(x) #x +#define DEF_TO_STRING(x) DEF_STR(x) + sprintf(env->me_txns->mti_rmname, DEF_TO_STRING(MDB_SEM_NAME_PREFIX) "/MDBr%s", encbuf); + sprintf(env->me_txns->mti_wmname, DEF_TO_STRING(MDB_SEM_NAME_PREFIX) "/MDBw%s", encbuf); +#undef DEF_STR +#undef DEF_TO_STRING + + printf("mdb_env_setup_locks: using semnames '%s' (%d), '%s' (%d)\n", + env->me_txns->mti_rmname, strlen(env->me_txns->mti_rmname), + env->me_txns->mti_wmname, strlen(env->me_txns->mti_wmname)); /* Clean up after a previous run, if needed: Try to * remove both semaphores before doing anything else. */