[Mirror] Plan 9 from User Space: https://github.com/9fans/plan9port
Find a file
Russ Cox 841d71b5c6 9pserve: fix races causing assert(c->nmsg == 0) to fail.
1. Could happen that connoutthread sends c->outq a nil
just before the regular input handler sends c->outq a real message.
When the connoutthread gets the nil it will free c->outq,
leaving the real message unprocessed.

2. Could happen that the outputthread writes a message
body to the remote 9P server and then a response comes
in and then the connection gets torn down, all before the
outputthread manages to call msgput(m).
Thanks to David Swasey for identifying this scenario.

Also change yield() loop into explicit communication.

Also remove dead code involving hungup queues.
2007-08-22 08:55:08 -04:00
acid better symbols 2006-02-14 19:38:04 +00:00
bin use 9p not 9P as mount type (Michael Kaminsky) 2007-05-01 15:26:48 +00:00
dict now with hget 2005-07-18 22:52:05 +00:00
dist add x86-64 2007-03-25 17:16:52 +00:00
face faces for lp. 2005-09-13 01:24:50 +00:00
font more notes 2006-03-20 02:46:03 +00:00
include hfs (David Swasey) 2007-05-28 20:27:25 +00:00
lib update 2007-02-22 06:18:07 +00:00
log ignore everything 2005-02-13 22:09:54 +00:00
lp remove bind 2006-09-17 20:52:18 +00:00
mail oops 2006-06-30 16:03:06 +00:00
man add -a aname 2007-06-21 02:11:21 +00:00
ndb add root servers 2006-02-14 19:37:32 +00:00
news odds and ends 2004-04-21 23:43:46 +00:00
plumb plumb all urls, not just images (TheWhiteTiger) 2007-04-03 12:49:27 +00:00
postscript out of date 2006-11-06 04:25:03 +00:00
proto forgotten files 2005-01-13 04:56:07 +00:00
sky add here 2005-01-27 19:28:22 +00:00
src 9pserve: fix races causing assert(c->nmsg == 0) to fail. 2007-08-22 08:55:08 -04:00
tmac new from plan 9 2006-05-06 22:51:12 +00:00
troff gone 2006-03-19 06:01:34 +00:00
unix Ignore more. 2005-09-13 00:42:27 +00:00
.cvsignore ignore install.log 2005-07-13 13:24:47 +00:00
.hgignore tailorization: ignore plan9-reverse.log too 2007-06-24 22:51:58 -04:00
.hgtags Added tag rtag for changeset 0b0321e26f56 2007-06-24 20:05:05 -04:00
CHANGES CHANGES 2007-06-24 22:55:43 -04:00
configure For annoying people like Uriel. 2005-11-25 13:18:11 +00:00
INSTALL space after -v for OS X (andrey) 2006-07-24 19:05:01 +00:00
install.txt new man page 2005-12-30 19:22:07 +00:00
LICENSE update lucida 2006-03-20 02:25:59 +00:00
Makefile For annoying people like Uriel. 2005-11-25 13:18:11 +00:00
rcmain Make fn cd safe for rc -e. 2005-08-10 16:59:19 +00:00
README add text version of install(1) 2005-11-28 16:36:57 +00:00
TODO Note 9P2000.u 2005-08-31 04:00:14 +00:00

This is a port of many Plan 9 libraries and programs to Unix.

* Installation

To install, run ./INSTALL.  It builds mk and then uses mk to
run the rest of the installation.  

For more details, see install(1), at install.txt in this directory
and at http://swtch.com/plan9port/man/man1/install.html.

* Documentation

See http://swtch.com/plan9port/man/ for more documentation.
(Documentation is also in this tree, but you need to run
a successful install first.  After that, "9 man 1 intro".)

Intro(1) contains a list of man pages that describe new features
or differences from Plan 9.

* Helping out

If you'd like to help out, great!  The TODO file contains a small list.

If you port this code to other architectures, please share your changes
so others can benefit.

Please use diff -u or CVS (see below) to prepare patches.

* CVS

You can use CVS to keep your local copy up-to-date as we make 
changes and fix bugs.  See the cvs(1) man page here ("9 man cvs")
for details on using cvs.

* Contact

Russ Cox <rsc@swtch.com>