public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] Signals not being Delivered
@ 2000-11-15 13:34 Brian D. Bolinger
  2000-12-05 19:58 ` Jonathan Larmour
  0 siblings, 1 reply; 2+ messages in thread
From: Brian D. Bolinger @ 2000-11-15 13:34 UTC (permalink / raw)
  To: ecos-discuss

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?

Thanks,
Brian Bolinger.

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [ECOS] Signals not being Delivered
  2000-11-15 13:34 [ECOS] Signals not being Delivered Brian D. Bolinger
@ 2000-12-05 19:58 ` Jonathan Larmour
  0 siblings, 0 replies; 2+ messages in thread
From: Jonathan Larmour @ 2000-12-05 19:58 UTC (permalink / raw)
  To: Brian D. Bolinger; +Cc: ecos-discuss

"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.

Jifl
-- 
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

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2000-12-05 19:58 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-11-15 13:34 [ECOS] Signals not being Delivered Brian D. Bolinger
2000-12-05 19:58 ` Jonathan Larmour

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).