xiaoxiang781216 commented on code in PR #15345:
URL: https://github.com/apache/nuttx/pull/15345#discussion_r1900157910


##########
arch/z80/src/z80/z80_sigdeliver.c:
##########
@@ -99,7 +100,7 @@ void z80_sigdeliver(void)
 
   regs[XCPT_PC]    = rtcb->xcp.saved_pc;
   regs[XCPT_I]     = rtcb->xcp.saved_i;

Review Comment:
   ```suggestion
     regs[XCPT_I] = rtcb->xcp.saved_i;
   ```



##########
include/nuttx/sched.h:
##########
@@ -134,6 +134,7 @@
 #define TCB_FLAG_FORCED_CANCEL     (1 << 13)                     /* Bit 13: 
Pthread cancel is forced */
 #define TCB_FLAG_JOIN_COMPLETED    (1 << 14)                     /* Bit 14: 
Pthread join completed */
 #define TCB_FLAG_FREE_TCB          (1 << 15)                     /* Bit 15: 
Free tcb after exit */
+#define TCB_FLAG_SIGDELIVER        (1 << 16)                     /* Bit 16: 
Deliver pending signals */

Review Comment:
   ```suggestion
   #define TCB_FLAG_SIGDELIVER        (1 << 2)                      /* Bit 2: 
Deliver pending signals */
   ```
   move before line 120



##########
arch/z80/src/ez80/ez80_sigdeliver.c:
##########
@@ -102,7 +103,7 @@ void z80_sigdeliver(void)
 
   regs[XCPT_PC]    = rtcb->xcp.saved_pc;

Review Comment:
   ```suggestion
     regs[XCPT_PC] = rtcb->xcp.saved_pc;
   ```



##########
arch/avr/src/avr32/avr_sigdeliver.c:
##########
@@ -104,7 +105,7 @@ void avr_sigdeliver(void)
 
   regs[REG_PC]     = rtcb->xcp.saved_pc;
   regs[REG_SR]     = rtcb->xcp.saved_sr;

Review Comment:
   ```suggestion
     regs[REG_SR] = rtcb->xcp.saved_sr;
   ```



##########
arch/z80/src/z80/z80_sigdeliver.c:
##########
@@ -99,7 +100,7 @@ void z80_sigdeliver(void)
 
   regs[XCPT_PC]    = rtcb->xcp.saved_pc;

Review Comment:
   ditto



##########
arch/misoc/src/minerva/minerva_sigdeliver.c:
##########
@@ -78,8 +78,8 @@ void minerva_sigdeliver(void)
    * more signal deliveries while processing the current pending signals.
    */
 
-  sigdeliver       = rtcb->sigdeliver;
-  rtcb->sigdeliver = NULL;
+  sigdeliver       = nxsig_deliver;

Review Comment:
   remove sigdeliver, call nxsig_deliver directly



##########
arch/z80/src/z180/z180_sigdeliver.c:
##########
@@ -99,7 +100,7 @@ void z80_sigdeliver(void)
 
   regs[XCPT_PC]    = rtcb->xcp.saved_pc;
   regs[XCPT_I]     = rtcb->xcp.saved_i;

Review Comment:
   ```suggestion
     regs[XCPT_I]  = rtcb->xcp.saved_i;
   ```



##########
arch/avr/src/avr/avr_sigdeliver.c:
##########
@@ -104,7 +105,7 @@ void avr_sigdeliver(void)
   regs[REG_PC2]    = rtcb->xcp.saved_pc2;
 #endif
   regs[REG_SREG]   = rtcb->xcp.saved_sreg;

Review Comment:
   ```suggestion
     regs[REG_SREG] = rtcb->xcp.saved_sreg;
   ```
   and other lines



##########
arch/ceva/src/common/ceva_sigdeliver.c:
##########
@@ -63,17 +63,17 @@ void ceva_sigdeliver(void)
 
   int saved_errno = rtcb->pterrno;
 
-  sinfo("rtcb=%p sigdeliver=%p sigpendactionq.head=%p\n",
-        rtcb, rtcb->sigdeliver, rtcb->sigpendactionq.head);
-  DEBUGASSERT(rtcb->sigdeliver != NULL);
+  sinfo("rtcb=%p sigpendactionq.head=%p\n",
+        rtcb, rtcb->sigpendactionq.head);
+  DEBUGASSERT((rtcb->flags & TCB_FLAG_SIGDELIVER) != 0);
 
   /* Get a local copy of the sigdeliver function pointer. We do this so that
    * we can nullify the sigdeliver function pointer in the TCB and accept
    * more signal deliveries while processing the current pending signals.
    */
 
-  sigdeliver       = rtcb->sigdeliver;
-  rtcb->sigdeliver = NULL;
+  sigdeliver       = nxsig_deliver;

Review Comment:
   remove sigdeliver       



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@nuttx.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to