[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