Module Name: src Committed By: pooka Date: Mon Nov 15 15:23:32 UTC 2010
Modified Files: src/lib/librumpuser: rumpuser.c rumpuser_int.h rumpuser_net.c Log Message: Make int *error and optional parameter (i.e. it can be NULL). Sometimes the caller just doesn't care which errno close() might throw. To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/lib/librumpuser/rumpuser.c cvs rdiff -u -r1.3 -r1.4 src/lib/librumpuser/rumpuser_int.h cvs rdiff -u -r1.1 -r1.2 src/lib/librumpuser/rumpuser_net.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/rumpuser.c diff -u src/lib/librumpuser/rumpuser.c:1.9 src/lib/librumpuser/rumpuser.c:1.10 --- src/lib/librumpuser/rumpuser.c:1.9 Wed Aug 11 10:25:59 2010 +++ src/lib/librumpuser/rumpuser.c Mon Nov 15 15:23:32 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpuser.c,v 1.9 2010/08/11 10:25:59 pooka Exp $ */ +/* $NetBSD: rumpuser.c,v 1.10 2010/11/15 15:23:32 pooka Exp $ */ /* * Copyright (c) 2007-2010 Antti Kantee. All Rights Reserved. @@ -27,7 +27,7 @@ #include <sys/cdefs.h> #if !defined(lint) -__RCSID("$NetBSD: rumpuser.c,v 1.9 2010/08/11 10:25:59 pooka Exp $"); +__RCSID("$NetBSD: rumpuser.c,v 1.10 2010/11/15 15:23:32 pooka Exp $"); #endif /* !lint */ /* thank the maker for this */ @@ -82,7 +82,7 @@ int needsdev = 0, rv = 0, ft; if (stat(path, &sb) == -1) { - *error = errno; + seterror(errno); return -1; } @@ -129,7 +129,7 @@ fd = open(path, O_RDONLY); if (fd == -1) { - *error = errno; + seterror(errno); rv = -1; goto out; } @@ -142,7 +142,7 @@ } fprintf(stderr, "error: device size query not implemented on " "this platform\n"); - *error = EOPNOTSUPP; + sererror(EOPNOTSUPP); rv = -1; goto out; #else @@ -152,13 +152,13 @@ fd = open(path, O_RDONLY); if (fd == -1) { - *error = errno; + seterror(errno); rv = -1; goto out; } if (ioctl(fd, DIOCGDINFO, &lab) == -1) { - *error = errno; + seterror(errno); rv = -1; goto out; } @@ -191,7 +191,7 @@ KLOCK_WRAP(rv = nanosleep(&rqt, &rmt)); if (rv == -1) - *error = errno; + seterror(errno); *sec = rmt.tv_sec; *nsec = rmt.tv_nsec; @@ -249,7 +249,7 @@ rv = mmap(prefaddr, size, prot, MAP_ANON | MAP_ALIGNED(alignbit), -1, 0); if (rv == MAP_FAILED) { - *error = errno; + seterror(errno); return NULL; } return rv; @@ -287,11 +287,11 @@ rv = mmap(NULL, len, PROT_READ|PROT_WRITE, mmflags, fd, offset); if (rv == MAP_FAILED) { - *error = errno; + seterror(errno); return NULL; } - *error = 0; + seterror(0); return rv; } @@ -337,7 +337,7 @@ KLOCK_WRAP(rv = read(fd, data, size)); if (rv == -1) - *error = errno; + seterror(errno); return rv; } @@ -349,7 +349,7 @@ KLOCK_WRAP(rv = pread(fd, data, size, offset)); if (rv == -1) - *error = errno; + seterror(errno); return rv; } @@ -377,7 +377,7 @@ KLOCK_WRAP(rv = write(fd, data, size)); if (rv == -1) - *error = errno; + seterror(errno); return rv; } @@ -389,7 +389,7 @@ KLOCK_WRAP(rv = pwrite(fd, data, size, offset)); if (rv == -1) - *error = errno; + seterror(errno); return rv; } @@ -420,7 +420,7 @@ iovp = malloc(iovcnt * sizeof(struct iovec)); if (iovp == NULL) { - *error = ENOMEM; + seterror(ENOMEM); return -1; } for (i = 0; i < iovcnt; i++) { @@ -431,7 +431,7 @@ KLOCK_WRAP(rv = readv(fd, iovp, iovcnt)); if (rv == -1) - *error = errno; + seterror(errno); free(iovp); return rv; @@ -447,7 +447,7 @@ iovp = malloc(iovcnt * sizeof(struct iovec)); if (iovp == NULL) { - *error = ENOMEM; + seterror(ENOMEM); return -1; } for (i = 0; i < iovcnt; i++) { @@ -458,7 +458,7 @@ KLOCK_WRAP(rv = writev(fd, iovp, iovcnt)); if (rv == -1) - *error = errno; + seterror(errno); free(iovp); return rv; @@ -472,7 +472,7 @@ rv = gettimeofday(&tv, NULL); if (rv == -1) { - *error = errno; + seterror(errno); return rv; } @@ -535,7 +535,7 @@ if (kq == -1) { kq = kqueue(); if (kq == -1) { - *error = errno; + seterror(errno); return -1; } } @@ -543,7 +543,7 @@ EV_SET(&kev, fd, EVFILT_VNODE, EV_ADD|EV_ENABLE|EV_CLEAR, NOTE_WRITE, 0, opaque); if (kevent(kq, &kev, 1, NULL, 0, NULL) == -1) { - *error = errno; + seterror(errno); return -1; } @@ -561,7 +561,7 @@ if (rv == -1) { if (errno == EINTR) goto again; - *error = errno; + seterror(errno); return -1; } @@ -598,7 +598,7 @@ } #else /* XXXfixme: signal numbers may not match on non-NetBSD */ - *error = EOPNOTSUPP; + seterror(EOPNOTSUPP); return -1; #endif } Index: src/lib/librumpuser/rumpuser_int.h diff -u src/lib/librumpuser/rumpuser_int.h:1.3 src/lib/librumpuser/rumpuser_int.h:1.4 --- src/lib/librumpuser/rumpuser_int.h:1.3 Tue May 18 14:58:41 2010 +++ src/lib/librumpuser/rumpuser_int.h Mon Nov 15 15:23:32 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpuser_int.h,v 1.3 2010/05/18 14:58:41 pooka Exp $ */ +/* $NetBSD: rumpuser_int.h,v 1.4 2010/11/15 15:23:32 pooka Exp $ */ /* * Copyright (c) 2008 Antti Kantee. All Rights Reserved. @@ -33,6 +33,8 @@ extern kernel_unlockfn rumpuser__kunlock; extern int rumpuser__wantthreads; +#define seterror(value) do { if (error) *error = value;} while (/*CONSTCOND*/0) + #define KLOCK_WRAP(a) \ do { \ int nlocks; \ @@ -46,9 +48,9 @@ rvtype rv; \ rv = call; \ if (rv == -1) \ - *error = errno; \ + seterror(errno); \ else \ - *error = 0; \ + seterror(0); \ return rv; \ } @@ -60,8 +62,8 @@ rv = call; \ rumpuser__klock(nlocks, NULL); \ if (rv == -1) \ - *error = errno; \ + seterror(errno); \ else \ - *error = 0; \ + seterror(0); \ return rv; \ } Index: src/lib/librumpuser/rumpuser_net.c diff -u src/lib/librumpuser/rumpuser_net.c:1.1 src/lib/librumpuser/rumpuser_net.c:1.2 --- src/lib/librumpuser/rumpuser_net.c:1.1 Fri Feb 26 18:54:20 2010 +++ src/lib/librumpuser/rumpuser_net.c Mon Nov 15 15:23:32 2010 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpuser_net.c,v 1.1 2010/02/26 18:54:20 pooka Exp $ */ +/* $NetBSD: rumpuser_net.c,v 1.2 2010/11/15 15:23:32 pooka Exp $ */ /* * Copyright (c) 2008 Antti Kantee. All Rights Reserved. @@ -27,7 +27,7 @@ #include <sys/cdefs.h> #if !defined(lint) -__RCSID("$NetBSD: rumpuser_net.c,v 1.1 2010/02/26 18:54:20 pooka Exp $"); +__RCSID("$NetBSD: rumpuser_net.c,v 1.2 2010/11/15 15:23:32 pooka Exp $"); #endif /* !lint */ #include <sys/types.h> @@ -102,9 +102,9 @@ *lenp = slen; if (rv == -1) - *error = errno; + seterror(errno); else - *error = 0; + seterror(0); return rv; } @@ -118,8 +118,8 @@ rv = setsockopt(s, level, name, data, slen); if (rv == -1) - *error = errno; + seterror(errno); else - *error = 0; + seterror(0); return rv; }