Module Name: src Committed By: pooka Date: Sat Apr 27 15:01:22 UTC 2013
Modified Files: src/lib/librumpuser: rumpuser.c src/sys/rump/include/rump: rumpuser.h src/sys/rump/net/lib/libsockin: rumpcomp_user.c rumpcomp_user.h sockin.c Log Message: rumpuser_poll() is used only by sockin, so make the hypercall private to that component. To generate a diff of this commit: cvs rdiff -u -r1.30 -r1.31 src/lib/librumpuser/rumpuser.c cvs rdiff -u -r1.78 -r1.79 src/sys/rump/include/rump/rumpuser.h cvs rdiff -u -r1.2 -r1.3 src/sys/rump/net/lib/libsockin/rumpcomp_user.c cvs rdiff -u -r1.1 -r1.2 src/sys/rump/net/lib/libsockin/rumpcomp_user.h cvs rdiff -u -r1.27 -r1.28 src/sys/rump/net/lib/libsockin/sockin.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.30 src/lib/librumpuser/rumpuser.c:1.31 --- src/lib/librumpuser/rumpuser.c:1.30 Sat Apr 27 14:59:08 2013 +++ src/lib/librumpuser/rumpuser.c Sat Apr 27 15:01:21 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpuser.c,v 1.30 2013/04/27 14:59:08 pooka Exp $ */ +/* $NetBSD: rumpuser.c,v 1.31 2013/04/27 15:01:21 pooka 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.30 2013/04/27 14:59:08 pooka Exp $"); +__RCSID("$NetBSD: rumpuser.c,v 1.31 2013/04/27 15:01:21 pooka Exp $"); #endif /* !lint */ #include <sys/ioctl.h> @@ -52,7 +52,6 @@ __RCSID("$NetBSD: rumpuser.c,v 1.30 2013 #include <errno.h> #include <fcntl.h> #include <netdb.h> -#include <poll.h> #include <signal.h> #include <stdarg.h> #include <stdint.h> @@ -591,13 +590,6 @@ rumpuser_gethostname(char *name, size_t } int -rumpuser_poll(struct pollfd *fds, int nfds, int timeout, int *error) -{ - - DOCALL_KLOCK(int, (poll(fds, (nfds_t)nfds, timeout))); -} - -int rumpuser_putchar(int c, int *error) { Index: src/sys/rump/include/rump/rumpuser.h diff -u src/sys/rump/include/rump/rumpuser.h:1.78 src/sys/rump/include/rump/rumpuser.h:1.79 --- src/sys/rump/include/rump/rumpuser.h:1.78 Sat Apr 27 14:59:09 2013 +++ src/sys/rump/include/rump/rumpuser.h Sat Apr 27 15:01:21 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpuser.h,v 1.78 2013/04/27 14:59:09 pooka Exp $ */ +/* $NetBSD: rumpuser.h,v 1.79 2013/04/27 15:01:21 pooka Exp $ */ /* * Copyright (c) 2007-2011 Antti Kantee. All Rights Reserved. @@ -43,8 +43,6 @@ int rumpuser_daemonize_begin(void); int rumpuser_daemonize_done(int); -struct pollfd; - typedef void (*rump_reschedulefn)(int, void *); typedef void (*rump_unschedulefn)(int, int *, void *); int rumpuser_init(int, rump_reschedulefn, rump_unschedulefn); @@ -109,8 +107,6 @@ int rumpuser_getenv(const char *, char * int rumpuser_gethostname(char *, size_t, int *); -int rumpuser_poll(struct pollfd *, int, int, int *); - int rumpuser_putchar(int, int *); #define RUMPUSER_PID_SELF ((int64_t)-1) Index: src/sys/rump/net/lib/libsockin/rumpcomp_user.c diff -u src/sys/rump/net/lib/libsockin/rumpcomp_user.c:1.2 src/sys/rump/net/lib/libsockin/rumpcomp_user.c:1.3 --- src/sys/rump/net/lib/libsockin/rumpcomp_user.c:1.2 Tue Mar 19 02:07:43 2013 +++ src/sys/rump/net/lib/libsockin/rumpcomp_user.c Sat Apr 27 15:01:21 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpcomp_user.c,v 1.2 2013/03/19 02:07:43 christos Exp $ */ +/* $NetBSD: rumpcomp_user.c,v 1.3 2013/04/27 15:01:21 pooka Exp $ */ /* * Copyright (c) 2008 Antti Kantee. All Rights Reserved. @@ -30,6 +30,7 @@ #include <sys/socket.h> #include <errno.h> +#include <poll.h> #include <rump/rumpuser_component.h> @@ -165,4 +166,18 @@ rumpcomp_sockin_setsockopt(int s, int le seterror(); return rv; } + +int +rumpcomp_sockin_poll(struct pollfd *fds, int nfds, int timeout, int *error) +{ + void *cookie; + int rv; + + cookie = rumpuser_component_unschedule(); + rv = poll(fds, (nfds_t)nfds, timeout); + rumpuser_component_schedule(cookie); + + seterror(); + return rv; +} #endif Index: src/sys/rump/net/lib/libsockin/rumpcomp_user.h diff -u src/sys/rump/net/lib/libsockin/rumpcomp_user.h:1.1 src/sys/rump/net/lib/libsockin/rumpcomp_user.h:1.2 --- src/sys/rump/net/lib/libsockin/rumpcomp_user.h:1.1 Mon Mar 18 13:14:11 2013 +++ src/sys/rump/net/lib/libsockin/rumpcomp_user.h Sat Apr 27 15:01:21 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpcomp_user.h,v 1.1 2013/03/18 13:14:11 pooka Exp $ */ +/* $NetBSD: rumpcomp_user.h,v 1.2 2013/04/27 15:01:21 pooka Exp $ */ /* * Copyright (c) 2008 Antti Kantee. All Rights Reserved. @@ -40,3 +40,4 @@ int rumpcomp_sockin_listen(int, int, in int rumpcomp_sockin_getname(int, struct sockaddr *, int *, enum rumpcomp_sockin_getnametype, int *); int rumpcomp_sockin_setsockopt(int, int, int, const void *, int, int *); +int rumpcomp_sockin_poll(struct pollfd *, int, int, int *); Index: src/sys/rump/net/lib/libsockin/sockin.c diff -u src/sys/rump/net/lib/libsockin/sockin.c:1.27 src/sys/rump/net/lib/libsockin/sockin.c:1.28 --- src/sys/rump/net/lib/libsockin/sockin.c:1.27 Mon Mar 18 13:14:11 2013 +++ src/sys/rump/net/lib/libsockin/sockin.c Sat Apr 27 15:01:21 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: sockin.c,v 1.27 2013/03/18 13:14:11 pooka Exp $ */ +/* $NetBSD: sockin.c,v 1.28 2013/04/27 15:01:21 pooka Exp $ */ /* * Copyright (c) 2008, 2009 Antti Kantee. All Rights Reserved. @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: sockin.c,v 1.27 2013/03/18 13:14:11 pooka Exp $"); +__KERNEL_RCSID(0, "$NetBSD: sockin.c,v 1.28 2013/04/27 15:01:21 pooka Exp $"); #include <sys/param.h> #include <sys/condvar.h> @@ -300,7 +300,7 @@ sockinworker(void *arg) } /* find affected sockets & process */ - rv = rumpuser_poll(pfds, cursock, POLLTIMEOUT, &error); + rv = rumpcomp_sockin_poll(pfds, cursock, POLLTIMEOUT, &error); for (i = 0; i < cursock && rv > 0; i++) { if (pfds[i].revents & POLLIN) { mutex_enter(&su_mtx);