mirror of
https://github.com/apache/nuttx.git
synced 2026-05-31 14:27:37 +08:00
Revert "Reduce the size of tcb by four bytes."
This reverts commit 893c5e92c2.
This commit is contained in:
@@ -34,7 +34,6 @@
|
||||
#include <nuttx/arch.h>
|
||||
|
||||
#include "sched/sched.h"
|
||||
#include "signal/signal.h"
|
||||
#include "x86_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
@@ -92,8 +91,8 @@ void up_schedule_sigaction(struct tcb_s *tcb)
|
||||
{
|
||||
/* In this case just deliver the signal now. */
|
||||
|
||||
nxsig_deliver(tcb);
|
||||
tcb->flags &= ~TCB_FLAG_SIGDELIVER;
|
||||
(tcb->sigdeliver)(tcb);
|
||||
tcb->sigdeliver = NULL;
|
||||
}
|
||||
|
||||
/* CASE 2: We are in an interrupt handler AND the interrupted task
|
||||
|
||||
@@ -37,7 +37,6 @@
|
||||
#include <arch/board/board.h>
|
||||
|
||||
#include "sched/sched.h"
|
||||
#include "signal/signal.h"
|
||||
#include "x86_internal.h"
|
||||
|
||||
/****************************************************************************
|
||||
@@ -61,9 +60,9 @@ void x86_sigdeliver(void)
|
||||
|
||||
board_autoled_on(LED_SIGNAL);
|
||||
|
||||
sinfo("rtcb=%p sigpendactionq.head=%p\n",
|
||||
rtcb, rtcb->sigpendactionq.head);
|
||||
DEBUGASSERT((rtcb->flags & TCB_FLAG_SIGDELIVER) != 0);
|
||||
sinfo("rtcb=%p sigdeliver=%p sigpendactionq.head=%p\n",
|
||||
rtcb, rtcb->sigdeliver, rtcb->sigpendactionq.head);
|
||||
DEBUGASSERT(rtcb->sigdeliver != NULL);
|
||||
|
||||
/* Save the return state on the stack. */
|
||||
|
||||
@@ -79,7 +78,7 @@ void x86_sigdeliver(void)
|
||||
|
||||
/* Deliver the signals */
|
||||
|
||||
nxsig_deliver(rtcb);
|
||||
(rtcb->sigdeliver)(rtcb);
|
||||
|
||||
/* Output any debug messages BEFORE restoring errno (because they may
|
||||
* alter errno), then disable interrupts again and restore the original
|
||||
@@ -101,10 +100,7 @@ void x86_sigdeliver(void)
|
||||
|
||||
regs[REG_EIP] = rtcb->xcp.saved_eip;
|
||||
regs[REG_EFLAGS] = rtcb->xcp.saved_eflags;
|
||||
|
||||
/* Allows next handler to be scheduled */
|
||||
|
||||
rtcb->flags &= ~TCB_FLAG_SIGDELIVER;
|
||||
rtcb->sigdeliver = NULL; /* Allows next handler to be scheduled */
|
||||
|
||||
/* Then restore the correct state for this thread of execution. */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user