PERFORCE change 164226 for review

Zhao Shuai zhaoshuai at FreeBSD.org
Sat Jun 13 02:44:51 UTC 2009


http://perforce.freebsd.org/chv.cgi?CH=164226

Change 164226 by zhaoshuai at zhaoshuai on 2009/06/13 02:43:56

	fix fifo_open(): forget releasing the mutex before returning ENXIO.

Affected files ...

.. //depot/projects/soc2009/fifo/sys/fs/fifofs/fifo_vnops.c#14 edit

Differences ...

==== //depot/projects/soc2009/fifo/sys/fs/fifofs/fifo_vnops.c#14 (text+ko) ====

@@ -184,10 +184,13 @@
 			wakeup(&fip->fi_writers);
 	}
 	if (ap->a_mode & FWRITE) {
-		if ((ap->a_mode & O_NONBLOCK) && fip->fi_readers == 0) 
+		if ((ap->a_mode & O_NONBLOCK) && fip->fi_readers == 0) {
+			/* XXX release all resources here? */
+			mtx_unlock(&fifo_mtx);
 			return (ENXIO);
+		}
 		fip->fi_writers++;		
-		if (fip->fi_writers == 1 && fip->fi_readers > 0)
+		if (fip->fi_writers == 1 && fip->fi_readers > 0) 
 			wakeup(&fip->fi_readers);
 	}
 	if ((ap->a_mode & O_NONBLOCK) == 0) {


More information about the p4-projects mailing list