Skip to content

Commit 1062b28

Browse files
committed
Only create a semaphore if an environment variable exists. And then assume that the semaphore already exists and was created by a parent process
1 parent 87d3f40 commit 1062b28

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

src/aotcompile.cpp

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1661,16 +1661,13 @@ void jl_dump_native_impl(void *native_code,
16611661
sem_t *sem = SEM_FAILED;
16621662
const char *sem_name = getenv("RAI_CC_SEM_NAME");
16631663
if (sem_name != NULL) {
1664-
sem = sem_open(sem_name, O_CREAT, 0644, 4);
1665-
} else {
1666-
// Use default name for debugging purposes
1667-
sem = sem_open("/jl_aotcompile_sem", O_CREAT, 0644, 4);
1668-
}
1669-
std::unique_ptr<sem_t, decltype(cleanup)> sem_guard(sem, cleanup);
1670-
if (sem == SEM_FAILED) {
1671-
jl_printf(JL_STDERR, "Failed to create semaphore: %s\n", strerror(errno));
1672-
} else {
1673-
sem_wait(sem);
1664+
sem = sem_open(sem_name, 0);
1665+
std::unique_ptr<sem_t, decltype(cleanup)> sem_guard(sem, cleanup);
1666+
if (sem == SEM_FAILED) {
1667+
jl_printf(JL_STDERR, "Failed to create semaphore: %s\n", strerror(errno));
1668+
} else {
1669+
sem_wait(sem);
1670+
}
16741671
}
16751672
#endif
16761673

0 commit comments

Comments
 (0)