From 7dcd682f7d084da176ca67366e1fd1399ee6e396 Mon Sep 17 00:00:00 2001 From: "W. Eric Norum" Date: Thu, 29 Jun 2006 20:07:10 +0000 Subject: [PATCH] Force panic if application-supplied routine returns a non-zero value. --- src/RTEMS/base/epicsRtemsInitHooks.h | 3 +++ src/RTEMS/base/rtems_init.c | 6 ++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/RTEMS/base/epicsRtemsInitHooks.h b/src/RTEMS/base/epicsRtemsInitHooks.h index c0220ab28..9bf24ca89 100644 --- a/src/RTEMS/base/epicsRtemsInitHooks.h +++ b/src/RTEMS/base/epicsRtemsInitHooks.h @@ -17,5 +17,8 @@ extern char *env_nfsServer; extern char *env_nfsPath; extern char *env_nfsMountPoint; +/* + * Return 0 for success, non-zero for failure (will cause panic) + */ int epicsRtemsInitPreSetBootConfigFromNVRAM(struct rtems_bsdnet_config *config); int epicsRtemsInitPostSetBootConfigFromNVRAM(struct rtems_bsdnet_config *config); diff --git a/src/RTEMS/base/rtems_init.c b/src/RTEMS/base/rtems_init.c index dc485424f..a888777bb 100644 --- a/src/RTEMS/base/rtems_init.c +++ b/src/RTEMS/base/rtems_init.c @@ -430,12 +430,14 @@ Init (rtems_task_argument ignored) /* * Architecture-specific hooks */ - epicsRtemsInitPreSetBootConfigFromNVRAM(&rtems_bsdnet_config); + if (epicsRtemsInitPreSetBootConfigFromNVRAM(&rtems_bsdnet_config) != 0) + delayedPanic("epicsRtemsInitPreSetBootConfigFromNVRAM"); if (rtems_bsdnet_config.bootp == NULL) { extern void setBootConfigFromNVRAM(void); setBootConfigFromNVRAM(); } - epicsRtemsInitPostSetBootConfigFromNVRAM(&rtems_bsdnet_config); + if (epicsRtemsInitPostSetBootConfigFromNVRAM(&rtems_bsdnet_config) != 0) + delayedPanic("epicsRtemsInitPostSetBootConfigFromNVRAM"); /* * Override RTEMS configuration