This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Signals not being Delivered


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]