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

Reply via email to