Module Name: src
Committed By: justin
Date: Fri Jul 25 14:00:31 UTC 2014
Modified Files:
src/lib/librumpuser: rumpfiber.c rumpuser.c rumpuser_random.c
Log Message:
Clean up error handling in rumpuser_init()
To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/lib/librumpuser/rumpfiber.c
cvs rdiff -u -r1.62 -r1.63 src/lib/librumpuser/rumpuser.c
cvs rdiff -u -r1.1 -r1.2 src/lib/librumpuser/rumpuser_random.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/lib/librumpuser/rumpfiber.c
diff -u src/lib/librumpuser/rumpfiber.c:1.2 src/lib/librumpuser/rumpfiber.c:1.3
--- src/lib/librumpuser/rumpfiber.c:1.2 Tue Jul 22 22:41:58 2014
+++ src/lib/librumpuser/rumpfiber.c Fri Jul 25 14:00:31 2014
@@ -66,7 +66,7 @@
#include "rumpuser_port.h"
#if !defined(lint)
-__RCSID("$NetBSD: rumpfiber.c,v 1.2 2014/07/22 22:41:58 justin Exp $");
+__RCSID("$NetBSD: rumpfiber.c,v 1.3 2014/07/25 14:00:31 justin Exp $");
#endif /* !lint */
#include <sys/ioctl.h>
@@ -410,14 +410,16 @@ struct rumpuser_hyperup rumpuser__hyp;
int
rumpuser_init(int version, const struct rumpuser_hyperup *hyp)
{
+ int rv;
if (version != RUMPUSER_VERSION) {
printk("rumpuser version mismatch\n");
- return 1;
+ abort();
}
- if (rumpuser__random_init() != 0) {
- return 1;
+ rv = rumpuser__random_init();
+ if (rv != 0) {
+ ET(rv);
}
rumpuser__hyp = *hyp;
Index: src/lib/librumpuser/rumpuser.c
diff -u src/lib/librumpuser/rumpuser.c:1.62 src/lib/librumpuser/rumpuser.c:1.63
--- src/lib/librumpuser/rumpuser.c:1.62 Tue Jul 22 22:41:58 2014
+++ src/lib/librumpuser/rumpuser.c Fri Jul 25 14:00:31 2014
@@ -1,4 +1,4 @@
-/* $NetBSD: rumpuser.c,v 1.62 2014/07/22 22:41:58 justin Exp $ */
+/* $NetBSD: rumpuser.c,v 1.63 2014/07/25 14:00:31 justin Exp $ */
/*
* Copyright (c) 2007-2010 Antti Kantee. All Rights Reserved.
@@ -28,7 +28,7 @@
#include "rumpuser_port.h"
#if !defined(lint)
-__RCSID("$NetBSD: rumpuser.c,v 1.62 2014/07/22 22:41:58 justin Exp $");
+__RCSID("$NetBSD: rumpuser.c,v 1.63 2014/07/25 14:00:31 justin Exp $");
#endif /* !lint */
#include <sys/stat.h>
@@ -57,15 +57,17 @@ struct rumpuser_hyperup rumpuser__hyp;
int
rumpuser_init(int version, const struct rumpuser_hyperup *hyp)
{
+ int rv;
if (version != RUMPUSER_VERSION) {
fprintf(stderr, "rumpuser mismatch, kern: %d, hypervisor %d\n",
version, RUMPUSER_VERSION);
- return 1;
+ abort();
}
- if (rumpuser__random_init() != 0) {
- return 1;
+ rv = rumpuser__random_init();
+ if (rv != 0) {
+ ET(rv);
}
rumpuser__thrinit();
Index: src/lib/librumpuser/rumpuser_random.c
diff -u src/lib/librumpuser/rumpuser_random.c:1.1 src/lib/librumpuser/rumpuser_random.c:1.2
--- src/lib/librumpuser/rumpuser_random.c:1.1 Tue Jul 22 22:41:58 2014
+++ src/lib/librumpuser/rumpuser_random.c Fri Jul 25 14:00:31 2014
@@ -26,7 +26,7 @@
#include "rumpuser_port.h"
#if !defined(lint)
-__RCSID("$NetBSD: rumpuser_random.c,v 1.1 2014/07/22 22:41:58 justin Exp $");
+__RCSID("$NetBSD: rumpuser_random.c,v 1.2 2014/07/25 14:00:31 justin Exp $");
#endif /* !lint */
#include <sys/types.h>
@@ -64,7 +64,7 @@ rumpuser__random_init(void)
random_fd = open(random_device, O_RDONLY);
if (random_fd < 0) {
fprintf(stderr, "random init open failed\n");
- return 1;
+ return errno;
}
return 0;
}
@@ -87,5 +87,5 @@ rumpuser_getrandom(void *buf, size_t buf
*retp = buflen;
#endif
- ET(0);
+ return 0;
}