acassis commented on code in PR #17263:
URL: https://github.com/apache/nuttx/pull/17263#discussion_r2479200711


##########
sched/signal/sig_dispatch.c:
##########
@@ -364,11 +364,10 @@ static irqstate_t nxsig_alloc_dyn_pending(irqstate_t 
flags)
       bool alloc_signal = sq_empty(&g_sigpendingsignal);
       bool alloc_sigact = sq_empty(&g_sigpendingaction);
 
-      /* Signals are not dispatched from the idle task */
+      /* We can't do memory allocations in idle task or interrupt */
 
-      DEBUGASSERT(!sched_idletask());
-
-      if (alloc_signal || alloc_sigact)
+      if ((alloc_signal || alloc_sigact) &&
+          !sched_idletask() && !up_interrupt_context())

Review Comment:
   @jlaitine if signals stop to work in ISR then all these drivers will stop to 
work:
   
   drivers/ioexpander/gpio.c
   drivers/input/button_upper.c
   drivers/input/ajoystick.c
   drivers/input/djystick.c
   drivers/lcd/ft80x.c
   drivers/net/phy_notify.c
   
   All these drivers call nxsig_notification() from inside an ISR (some them 
call it from a function called from that ISR, so it still in interrupt context)



-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to