Module Name: src Committed By: pooka Date: Mon Nov 9 18:00:26 UTC 2009
Modified Files: src/sys/rump/librump/rumpuser: rumpuser_pth.c Log Message: Add scheduling points around the iothread call to biodone() To generate a diff of this commit: cvs rdiff -u -r1.36 -r1.37 src/sys/rump/librump/rumpuser/rumpuser_pth.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/rump/librump/rumpuser/rumpuser_pth.c diff -u src/sys/rump/librump/rumpuser/rumpuser_pth.c:1.36 src/sys/rump/librump/rumpuser/rumpuser_pth.c:1.37 --- src/sys/rump/librump/rumpuser/rumpuser_pth.c:1.36 Thu Oct 15 00:28:47 2009 +++ src/sys/rump/librump/rumpuser/rumpuser_pth.c Mon Nov 9 18:00:26 2009 @@ -1,4 +1,4 @@ -/* $NetBSD: rumpuser_pth.c,v 1.36 2009/10/15 00:28:47 pooka Exp $ */ +/* $NetBSD: rumpuser_pth.c,v 1.37 2009/11/09 18:00:26 pooka Exp $ */ /* * Copyright (c) 2007 Antti Kantee. All Rights Reserved. @@ -30,7 +30,7 @@ #include <sys/cdefs.h> #if !defined(lint) -__RCSID("$NetBSD: rumpuser_pth.c,v 1.36 2009/10/15 00:28:47 pooka Exp $"); +__RCSID("$NetBSD: rumpuser_pth.c,v 1.37 2009/11/09 18:00:26 pooka Exp $"); #endif /* !lint */ #ifdef __linux__ @@ -131,7 +131,7 @@ struct rumpuser_aio *rua; rump_biodone_fn biodone = arg; ssize_t rv; - int error; + int error, dummy; NOFAIL_ERRNO(pthread_mutex_lock(&rumpuser_aio_mtx.pthmtx)); for (;;) { @@ -168,7 +168,10 @@ #endif } } + rumpuser__klock(0); biodone(rua->rua_bp, rv, error); + rumpuser__kunlock(0, &dummy); + assert(dummy == 0); rua->rua_bp = NULL;