make all objects used with atomic operations volatile
[oweals/musl.git] / src / thread / pthread_once.c
index df655ef9a4c8850594e9fbbfe4b0d34ff1821890..a8f8aeb17a03995cba0ac62d75cd2d97d09ff0dc 100644 (file)
@@ -40,7 +40,7 @@ int __pthread_once(pthread_once_t *control, void (*init)(void))
 {
        /* Return immediately if init finished before, but ensure that
         * effects of the init routine are visible to the caller. */
-       if (*control == 2) {
+       if (*(volatile int *)control == 2) {
                a_barrier();
                return 0;
        }