[RTEMS Project] #2228: POSIX timers misbehaviour

RTEMS trac trac at rtems.org
Wed Dec 17 22:10:20 UTC 2014


#2228: POSIX timers misbehaviour
-------------------------+-------------------
 Reporter:  systec-dk    |       Owner:
     Type:  defect       |      Status:  new
 Priority:  normal       |   Milestone:  4.11
Component:  cpukit       |     Version:  4.10
 Severity:  normal       |  Resolution:
 Keywords:  posix timer  |
-------------------------+-------------------

Comment (by chrisj):

 This is a bug in RTEMS because pthreads has been clear from the start a
 signal is per-process and delivered to the process. What this means in
 RTEMS is make complicated because we have different thread domains, the
 classic and POSIX.

 I am currently not happy with this change being merged for 2 reasons.

 First a brief inspection of the kill code to check if it is ok to call
 from an isr shows _POSIX_signals_Vectors being check before disabling
 dispatching. Is this ok ? The sigaction code has protected references.

 Second the kill call hits all threads in the system including classic
 threads and here I am concerned classic API tasks could assume no POSIX
 support enabled and therefore no signals and so no handling for an
 unexpected signal. Further this code will not have any support for pthread
 sigmasks and so it will not be able to manage signals in the same way
 pthread code should. Should kill be hitting all threads ? This makes sense
 from the kill call point of view so should there exist a means to deliver
 a signal to only the POSIX threads ?

 Oh and why does a getpid check happen at the start of kill ? Are we
 expecting another pid to ever exist ?

--
Ticket URL: <http://devel.rtems.org/ticket/2228#comment:2>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list