diff options
Diffstat (limited to 'extras/mini-os/kernel.c')
-rw-r--r-- | extras/mini-os/kernel.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/extras/mini-os/kernel.c b/extras/mini-os/kernel.c index e9402b911d..24fa25c3ed 100644 --- a/extras/mini-os/kernel.c +++ b/extras/mini-os/kernel.c @@ -84,8 +84,10 @@ static void shutdown_thread(void *p) free(err); xenbus_wait_for_watch(&events); } - xenbus_unwatch_path_token(XBT_NIL, path, token); - xenbus_write(XBT_NIL, path, ""); + err = xenbus_unwatch_path_token(XBT_NIL, path, token); + if (err) free(err); + err = xenbus_write(XBT_NIL, path, ""); + if (err) free(err); printk("Shutting down (%s)\n", shutdown); if (!strcmp(shutdown, "poweroff")) @@ -96,6 +98,7 @@ static void shutdown_thread(void *p) /* Unknown */ shutdown_reason = SHUTDOWN_crash; app_shutdown(shutdown_reason); + free(shutdown); } #endif |