tplumbunmount - plan9port - [fork] Plan 9 from user space
 (HTM) git clone git://src.adamsgaard.dk/plan9port
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 1dc6e083c15e1580b02d30aa349821fe98fcf989
 (DIR) parent 70584625ae19b622a1dfe73181f2b0a083fea351
 (HTM) Author: rsc <devnull@localhost>
       Date:   Sun, 25 Jun 2006 23:55:37 +0000
       
       plumbunmount
       
       Diffstat:
         M man/man3/plumb.3                    |      17 ++++++++++++++++-
         M src/libplumb/fid.c                  |      13 +++++++++++++
       
       2 files changed, 29 insertions(+), 1 deletion(-)
       ---
 (DIR) diff --git a/man/man3/plumb.3 b/man/man3/plumb.3
       t@@ -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 <u.h>
        .br
       t@@ -14,6 +14,9 @@ eplumb, plumbfree, plumbopen, plumbopenfid, plumbsend, plumbsendtofid, plumbsend
        int        plumbopen(char *port, int omode)
        .PP
        .B
       +int        plumbunmount(void)
       +.PP
       +.B
        int        plumbsend(int fd, Plumbmsg *m)
        .PP
        .B
       t@@ -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
 (DIR) diff --git a/src/libplumb/fid.c b/src/libplumb/fid.c
       t@@ -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)