aboutsummaryrefslogtreecommitdiffstats
path: root/signal.c
diff options
context:
space:
mode:
Diffstat (limited to 'signal.c')
-rw-r--r--signal.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/signal.c b/signal.c
index 78e31e92b0..3aaa988c25 100644
--- a/signal.c
+++ b/signal.c
@@ -838,13 +838,13 @@ check_stack_overflow(int sig, const uintptr_t addr, const ucontext_t *ctx)
* the fault page can be the next. */
if (sp_page == fault_page || sp_page == fault_page + 1 ||
sp_page <= fault_page && fault_page <= bp_page) {
- rb_thread_t *th = ruby_current_thread;
+ rb_thread_t *th = ruby_current_thread();
int crit = FALSE;
- if ((uintptr_t)th->ec.tag->buf / pagesize <= fault_page + 1) {
+ if ((uintptr_t)th->ec->tag->buf / pagesize <= fault_page + 1) {
/* drop the last tag if it is close to the fault,
* otherwise it can cause stack overflow again at the same
* place. */
- th->ec.tag = th->ec.tag->prev;
+ th->ec->tag = th->ec->tag->prev;
crit = TRUE;
}
reset_sigmask(sig);
@@ -856,7 +856,7 @@ static void
check_stack_overflow(int sig, const void *addr)
{
int ruby_stack_overflowed_p(const rb_thread_t *, const void *);
- rb_thread_t *th = ruby_current_thread;
+ rb_thread_t *th = GET_THREAD();
if (ruby_stack_overflowed_p(th, addr)) {
reset_sigmask(sig);
rb_threadptr_stack_overflow(th, FALSE);