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);