Skip to content

Commit a8b0653

Browse files
committed
Fix up missing _Atomic calls
1 parent 516d9ba commit a8b0653

File tree

4 files changed

+6
-6
lines changed

4 files changed

+6
-6
lines changed

src/gc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ bigval_t *big_objects_marked = NULL;
181181
// `to_finalize` should not have tagged pointers.
182182
arraylist_t finalizer_list_marked;
183183
arraylist_t to_finalize;
184-
int jl_gc_have_pending_finalizers = 0;
184+
JL_DLLEXPORT _Atomic(int) jl_gc_have_pending_finalizers = 0;
185185

186186
NOINLINE uintptr_t gc_get_stack_ptr(void)
187187
{

src/julia_threads.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,7 +217,7 @@ typedef struct _jl_tls_states_t {
217217
uv_mutex_t sleep_lock;
218218
uv_cond_t wake_signal;
219219
volatile sig_atomic_t defer_signal;
220-
struct _jl_task_t *current_task;
220+
_Atomic(struct _jl_task_t*) current_task;
221221
struct _jl_task_t *next_task;
222222
struct _jl_task_t *previous_task;
223223
struct _jl_task_t *root_task;
@@ -347,7 +347,7 @@ JL_DLLEXPORT void jl_gc_enable_finalizers(struct _jl_task_t *ct, int on);
347347
JL_DLLEXPORT void jl_gc_disable_finalizers_internal(void);
348348
JL_DLLEXPORT void jl_gc_enable_finalizers_internal(void);
349349
JL_DLLEXPORT void jl_gc_run_pending_finalizers(struct _jl_task_t *ct);
350-
extern JL_DLLEXPORT int jl_gc_have_pending_finalizers;
350+
extern JL_DLLEXPORT _Atomic(int) jl_gc_have_pending_finalizers;
351351

352352
JL_DLLEXPORT void jl_wakeup_thread(int16_t tid);
353353

src/partr.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ extern int jl_gc_mark_queue_obj_explicit(jl_gc_mark_cache_t *gc_cache,
5959
typedef struct taskheap_tag {
6060
uv_mutex_t lock;
6161
jl_task_t **tasks;
62-
int32_t ntasks;
62+
_Atomic(int32_t) ntasks;
6363
_Atomic(int16_t) prio;
6464
} taskheap_t;
6565

@@ -414,7 +414,7 @@ static int may_sleep(jl_ptls_t ptls) JL_NOTSAFEPOINT
414414
return jl_atomic_load_relaxed(&ptls->sleep_check_state) == sleeping;
415415
}
416416

417-
extern unsigned _threadedregion;
417+
extern _Atomic(unsigned) _threadedregion;
418418

419419
JL_DLLEXPORT jl_task_t *jl_task_get_next(jl_value_t *trypoptask, jl_value_t *q)
420420
{

src/threading.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -527,7 +527,7 @@ void jl_start_threads(void)
527527
uv_barrier_wait(&thread_init_done);
528528
}
529529

530-
unsigned volatile _threadedregion; // HACK: keep track of whether it is safe to do IO
530+
_Atomic(unsigned) _threadedregion; // HACK: keep track of whether it is safe to do IO
531531

532532
JL_DLLEXPORT int jl_in_threaded_region(void)
533533
{

0 commit comments

Comments
 (0)