alarm.c: Per comment add debug code for kill() failing

This is highly unlikely and would indicate a serious bug
in the system or corruption. But it is better to be cautious.
This commit is contained in:
Joel Sherrill
2013-12-09 19:50:55 -06:00
parent 8ae999c38b
commit 967c14385b
+17 -4
View File
@@ -9,7 +9,7 @@
* 3.4.1 Schedule Alarm, P1003.1b-1993, p. 79
*/
/* COPYRIGHT (c) 1989-2007.
/* COPYRIGHT (c) 1989-2013.
* On-Line Applications Research Corporation (OAR).
*
* The license and distribution terms for this file may be
@@ -32,14 +32,27 @@
/*
* _POSIX_signals_Alarm_TSR
*/
static void _POSIX_signals_Alarm_TSR(
Objects_Id id __attribute__((unused)),
void *argument __attribute__((unused))
)
{
kill( getpid(), SIGALRM );
/* XXX can't print from an ISR, should this be fatal? */
#if defined(RTEMS_DEBUG)
int status;
#define KILL_STATUS status =
#else
#define KILL_STATUS (void)
#endif
KILL_STATUS kill( getpid(), SIGALRM );
#if defined(RTEMS_DEBUG)
/*
* There is no reason to think this might fail but we should be
* cautious.
*/
assert(status == 0);
#endif
}
static Watchdog_Control _POSIX_signals_Alarm_timer = WATCHDOG_INITIALIZER(