commit 1dc6e083c15e1580b02d30aa349821fe98fcf989 from: rsc date: Sun Jun 25 23:55:37 2006 UTC plumbunmount commit - 70584625ae19b622a1dfe73181f2b0a083fea351 commit + 1dc6e083c15e1580b02d30aa349821fe98fcf989 blob - 970919ad194a8f16a75dfc0a484c07471aae9eb0 blob + fa78a2b5ab91ce1772a683266b906e2c9e88aad1 --- man/man3/plumb.3 +++ man/man3/plumb.3 @@ -1,6 +1,6 @@ .TH PLUMB 3 .SH NAME -eplumb, plumbfree, plumbopen, plumbopenfid, plumbsend, plumbsendtofid, plumbsendtext, plumblookup, plumbpack, plumbpackattr, plumbaddattr, plumbdelattr, plumbrecv, plumbrecvfid, plumbunpack, plumbunpackpartial, plumbunpackattr, Plumbmsg \- plumb messages +eplumb, plumbfree, plumbopen, plumbunmount, plumbopenfid, plumbsend, plumbsendtofid, plumbsendtext, plumblookup, plumbpack, plumbpackattr, plumbaddattr, plumbdelattr, plumbrecv, plumbrecvfid, plumbunpack, plumbunpackpartial, plumbunpackattr, Plumbmsg \- plumb messages .SH SYNOPSIS .B #include .br @@ -14,6 +14,9 @@ eplumb, plumbfree, plumbopen, plumbopenfid, plumbsend, int plumbopen(char *port, int omode) .PP .B +int plumbunmount(void) +.PP +.B int plumbsend(int fd, Plumbmsg *m) .PP .B @@ -117,6 +120,18 @@ registers, using the given receipt of messages from the named .IR port . .PP +The library mounts the +.IR plumber (4) +service on demand (using the +.IR 9pclient (3)) +library and reuses the mount instance for future +calls to +.IR plumbopen . +.I Plumbunmount +causes the library to discard its cached mount. +This can be useful if the plumber service itself has been +restarted and a client wishes to reconnect. +.PP .I Plumbsend formats and writes message .I m blob - cea5ce028d071391c42c345c236acc1eb9fb2139 blob + ec133c821835f90e750720a6baa0dad825defd71 --- src/libplumb/fid.c +++ src/libplumb/fid.c @@ -9,6 +9,19 @@ static int pfd = -1; static CFid *pfid; int +plumbunmount(void) +{ + CFsys *fsys; + + if(fsplumb){ + fsys = fsplumb; + fsplumb = nil; + fsunmount(fsys); + } + return 0; +} + +int plumbopen(char *name, int omode) { if(fsplumb == nil)