This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Signals not being Delivered
- To: ecos-discuss at sourceware dot cygnus dot com
- Subject: [ECOS] Signals not being Delivered
- From: "Brian D. Bolinger" <bbolinger at logikos dot com>
- Date: Wed, 15 Nov 2000 16:34:16 -0500
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.