Skip to content

Set 'loading' and 'shutdown_asap' to volatile sig_atomic_t type#7845

Merged
oranagra merged 1 commit intoredis:unstablefrom
ShooterIT:sig-atomic
Sep 25, 2020
Merged

Set 'loading' and 'shutdown_asap' to volatile sig_atomic_t type#7845
oranagra merged 1 commit intoredis:unstablefrom
ShooterIT:sig-atomic

Conversation

@ShooterIT
Copy link
Member

We may access and modify these two variables in signal handler function, to guarantee them async-signal-safe, so we should set them to volatile sig_atomic_t type.

But don't worry, till now, we don't receive any bug report, maybe signals will be handled in main thread on most platforms. We do that since we want to follow C and POSIX standard in signal handler function.

Fix #7777

We may access and modify these two variables in signal handler function,
to guarantee them async-signal-safe, so we should set them to volatile
sig_atomic_t type.

But don't worry, till now, we don't receive any bug report, maybe signals
will be handled in main thread on most platforms. We do that since we want
to follow C and POSIX standard in signal handler function.
@oranagra oranagra merged commit f1863a1 into redis:unstable Sep 25, 2020
oranagra pushed a commit that referenced this pull request Oct 27, 2020
We may access and modify these two variables in signal handler function,
to guarantee them async-signal-safe, so we should set them to volatile
sig_atomic_t type.

It doesn't look like this could have caused any real issue, and it seems that
signals are handled in main thread on most platforms. But we want to follow C
and POSIX standard in signal handler function.

(cherry picked from commit f1863a1)
JackieXie168 pushed a commit to JackieXie168/redis that referenced this pull request Nov 4, 2020
…s#7845)

We may access and modify these two variables in signal handler function,
to guarantee them async-signal-safe, so we should set them to volatile
sig_atomic_t type.

It doesn't look like this could have caused any real issue, and it seems that
signals are handled in main thread on most platforms. But we want to follow C
and POSIX standard in signal handler function.
jschmieg pushed a commit to memKeyDB/memKeyDB that referenced this pull request Nov 6, 2020
…s#7845)

We may access and modify these two variables in signal handler function,
to guarantee them async-signal-safe, so we should set them to volatile
sig_atomic_t type.

It doesn't look like this could have caused any real issue, and it seems that
signals are handled in main thread on most platforms. But we want to follow C
and POSIX standard in signal handler function.

(cherry picked from commit f1863a1)
@ShooterIT ShooterIT deleted the sig-atomic branch January 6, 2025 02:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[BUG] Potential data race on server.loading flag

2 participants