Module Name: src
Committed By: pooka
Date: Mon Apr 29 13:53:47 UTC 2013
Modified Files:
src/lib/librumpuser: rumpuser_bio.c
Log Message:
unschedule around blocking i/o
To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/lib/librumpuser/rumpuser_bio.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_bio.c
diff -u src/lib/librumpuser/rumpuser_bio.c:1.1 src/lib/librumpuser/rumpuser_bio.c:1.2
--- src/lib/librumpuser/rumpuser_bio.c:1.1 Mon Apr 29 12:56:04 2013
+++ src/lib/librumpuser/rumpuser_bio.c Mon Apr 29 13:53:46 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: rumpuser_bio.c,v 1.1 2013/04/29 12:56:04 pooka Exp $ */
+/* $NetBSD: rumpuser_bio.c,v 1.2 2013/04/29 13:53:46 pooka Exp $ */
/*-
* Copyright (c) 2013 Antti Kantee. All Rights Reserved.
@@ -127,6 +127,9 @@ rumpuser_bio(int fd, int op, void *data,
struct rumpuser_bio bio;
static int inited = 0;
static int usethread = 0;
+ int nlocks;
+
+ rumpuser__unschedule(0, &nlocks, NULL);
if (!inited) {
pthread_mutex_lock(&biomtx);
@@ -170,4 +173,6 @@ rumpuser_bio(int fd, int op, void *data,
pthread_cond_signal(&biocv);
pthread_mutex_unlock(&biomtx);
}
+
+ rumpuser__reschedule(nlocks, NULL);
}