summaryrefslogtreecommitdiff
path: root/sys/src/lib9p
AgeCommit message (Collapse)Author
2016-07-24make error handling in 9p service loops consistentcinap_lenrek
when we get eof, stop the loop immidiately and do not rely on the read to eventually return an error. when convM2S() fails to decode the message, error out and stop the loop. there is no point in continuing.
2016-03-19lib9p: remove duplicate variable assignment in createfile()BurnZeZ
2015-10-15mergecinap_lenrek
2015-10-15lib9p: do not override Srv.end in listensrv(), simplify srvclose() and ↵cinap_lenrek
recounting listensrv() used to override Srv.end() with its own handler to free the malloc'd Srv structure and close the fd. this makes it impossible to register your own cleanup handler. instead, we introduce the private Srv.free() handler that is used by listensrv to register its cleanup code. Srv.free() is called once all the srv procs have been exited and all requests on that srv have been responded to while Srv.end() is called once all the procs exited the srv loop regardless of the requests still being in flight.
2015-10-12lib9p: add reqqueuefreeaiju
2015-08-10lib9p: make reqqueueflush() use new threadint(), which will also cover ↵cinap_lenrek
channel operations using "interrupt" ctl message directly doesnt work when the process is doing libthread channel operations (threadrendezvous) as it will just repeat a interrupted rendezvous(). threadint() handles this for us.
2015-07-28lib9p: return "write prohibited" error as documented in 9p(2) when ↵cinap_lenrek
srv->write is nil (thanks silasm)
2015-06-13lib9p: fix lib9p wstat qid.type/mode checks (fixes lock(1) for ramfs/hjfs)cinap_lenrek
2015-04-23lib9p: handle erealloc9p(..., 0)cinap_lenrek
2014-10-23lib9p: prevent files from being created in deleted directories (thanks BurnZeZ)cinap_lenrek
2014-10-23lib9p: fix .. walk crash in deleted directory (thanks BurnZeZ)cinap_lenrek
to reproduce: % ramfs; cd /tmp % mkdir foo; cd foo % pwd /tmp/foo % rm /tmp/foo % pwd /tmp/foo % ls % ls /tmp % ls .. ramfs 202751: suicide: sys: trap: fault read addr=0x0 pc=0x0000e46d ls: ..: '..' mount rpc error
2014-09-19lib9p: fix nil dereference crash in remove for directory permission checkcinap_lenrek
file->parent can be nil when the file has been previously removed. removefile() deals with this, so skip the permission check in that case and let removefile() error out.
2014-07-03remove executable bit from /sys/src/lib9p/ramfs.ccinap_lenrek
2014-06-11revert ramfs examplecinap_lenrek
the code was correct. erealloc9p() terminates the process on error, but the code was handling realloc() error explicitely and responded the request with Enomem error.
2014-06-11lib9p: ramfs example: s/realloc/erealloc9p/ftrvxmtrx
2013-10-02lib9p/hjfs: use x != ~0 instead (type)~x conditionals to work arround arm ↵cinap_lenrek
compiler issue
2013-06-16make filesystem handling of read9pmsg() consistentcinap_lenrek
2013-01-30lib9p: defer freeing srv for listensrv()cinap_lenrek
use the Srv.end callback for freeing the srv and closing the file descriptor of a connection. this makes sure we wont free the srv while there are still outstanding requests that would access the srv when doing the respond() call.
2013-01-30lib9p: defer closing down srv until the last request has been responded, ↵cinap_lenrek
Tversion message size in multithreaded programs, we have to wait until all outstanding requests have been responded before closing down the srv. dont make write errors sysfatal(), only print them. in case if listensrv() is used we dont want to exit the process in respond() called by some worker thread. make sure Tversion is only handled when there are no outstanding requests and make sure message size is sane.
2012-03-30lib9p: add Srv.startcinap_lenrek
2011-08-20added interrupt proc ctl messageaiju
2011-08-19lib9p reqqueue: more cleaningaiju
2011-08-19lib9p reqqueue: remove setjmp shitaiju
2011-08-19lib9p: add srvacquire/srvreleasecinap_lenrek
2011-08-16usb ptp camera drivercinap_lenrek
2011-08-16lib9p: added toilet queuesaiju
2011-07-30devshr: changed #σc to contain directoriesaiju
nusb: detaching
2011-07-27lib9p: fixaiju
2011-07-27lib9p: added threadpostsharesrvaiju
2011-07-27lib9p: added functions for devshraiju
2011-07-09lib9p: respond with error instead of aborting for unknown 9p messagescinap_lenrek
2011-03-30Import sources from 2011-03-30 iso image - libTaru Karttunen
2011-03-30Import sources from 2011-03-30 iso imageTaru Karttunen