[RTEMS Project] #2690: Unpredictable _POSIX_signals_Send() aka killinfo() behaviour

RTEMS trac trac at rtems.org
Thu Apr 14 06:49:35 UTC 2016


#2690: Unpredictable _POSIX_signals_Send() aka killinfo() behaviour
-----------------------------+------------------
 Reporter:  sebastian.huber  |      Owner:
     Type:  defect           |     Status:  new
 Priority:  low              |  Milestone:  5.0
Component:  cpukit           |    Version:  4.10
 Severity:  critical         |   Keywords:
-----------------------------+------------------
 The _POSIX_signals_Send() iterates over all threads in the system without
 protection of the object allocator lock.  At least on SMP systems this may
 lead to unpredictable behaviour.  Since _POSIX_signals_Send() is called
 from interrupt context in the alarm() and ualarm() timers, this function
 may lead to long interrupt processing times.

 Suggested solution:

 * Forbid _POSIX_signals_Send() in interrupt context.
 * Properly protect iteration over all threads with the object allocator
 mutex.
 * Use timer server for alarm() and ualarm()

 Question:

 * How to account for the timer server resource usage?

--
Ticket URL: <http://devel.rtems.org/ticket/2690>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list