Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 30 May 2015 08:01:16 +0000 (UTC)
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r283764 - projects/ifnet/sys/net
Message-ID:  <201505300801.t4U81G10025391@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: glebius
Date: Sat May 30 08:01:16 2015
New Revision: 283764
URL: https://svnweb.freebsd.org/changeset/base/283764

Log:
  Fix an error I made in r283655. We need to sleep while we DON'T have an mbuf.
  
  Submitted by:	Tiwei Bie <btw mail.ustc.edu.cn>

Modified:
  projects/ifnet/sys/net/if_tap.c

Modified: projects/ifnet/sys/net/if_tap.c
==============================================================================
--- projects/ifnet/sys/net/if_tap.c	Sat May 30 04:49:19 2015	(r283763)
+++ projects/ifnet/sys/net/if_tap.c	Sat May 30 08:01:16 2015	(r283764)
@@ -888,7 +888,7 @@ tapread(struct cdev *dev, struct uio *ui
 	tp->tap_flags &= ~TAP_RWAIT;
 
 	/* sleep until we get a packet */
-	while ((m = mbufq_dequeue(&tp->tap_queue)) != NULL) {
+	while ((m = mbufq_dequeue(&tp->tap_queue)) == NULL) {
 		if (flag & O_NONBLOCK) {
 			mtx_unlock(&tp->tap_mtx);
 			return (EWOULDBLOCK);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201505300801.t4U81G10025391>