[ECOS] Signals not being Delivered

Jonathan Larmour jlarmour@cygnus.co.uk
Tue Dec 5 19:58:00 GMT 2000

"Brian D. Bolinger" wrote:
> I'm using POSIX calls (timer_create and timer_settime) to create a timer
> that expires every 10 milliseconds and delivers one of the real-time
> signals to the process upon expiration.
> It works great on the on the Linux synthetic target platform.  When I
> move to a SH3 development board, the signal is only being delivered
> once.
> Debugging the software showed me the following things:
> 1.  If you put a break point in the signal handler, and continue when it
> hits the break point, signals will continue to be delivered
> indefinitely.
> 2.  If the timer is set up in a thread that repeatedly calls sleep(1) in
> an infinite loop, between 5 and 7 signals will be delivered before they
> mysteriously stop.
> 3.  If the timer interval is increased to 100 milliseconds, everything
> operates correctly.  clock_getres returned 10 milliseconds.
> 4.  The clock_gettime function indicated that CLOCK_REALTIME was still
> running.
> Are there known problems with signal delivery on certain targets?
> Anyone know of any clever workarounds other than increase the timer
> interval?

I was wondering if you got anywhere with this problem (which I hadn't seen
before so I didn't answer). There were also some fixes to the signal code
not so long ago that may have fixed this for you. Have you updated your CVS
repository and tried them?

If you have a potted testcase I can just use, I may be able to try it out
on other targets here.

Red Hat, 35 Cambridge Place, Cambridge, UK. CB2 1NS  Tel: +44 (1223) 728762
"Plan to be spontaneous tomorrow."  ||  These opinions are all my own fault

More information about the Ecos-discuss mailing list