9fans.net/go@v0.0.7/cmd/acme/post.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "log" 6 "os" 7 "os/exec" 8 "strings" 9 10 "9fans.net/go/plan9/client" 11 ) 12 13 var chattyfuse int 14 15 func post9pservice(rfd, wfd *os.File, name, mtpt string) error { 16 if name == "" && mtpt == "" { 17 rfd.Close() 18 wfd.Close() 19 return fmt.Errorf("nothing to do") 20 } 21 22 if name != "" { 23 var addr string 24 if strings.Contains(addr, "!") { // assume is already network address 25 addr = name 26 } else { 27 addr = "unix!" + client.Namespace() + "/" + name 28 } 29 cmd := exec.Command("9pserve", "-u", addr) 30 cmd.Stdin = rfd 31 cmd.Stdout = wfd 32 cmd.Stderr = os.Stderr 33 err := cmd.Run() 34 if err != nil { 35 return err 36 } 37 if mtpt != "" { 38 // reopen 39 log.Fatalf("post9pservice mount not implemented") 40 } 41 } 42 if mtpt != "" { 43 log.Fatalf("post9pservice mount not implemented") 44 } 45 return nil 46 }