summaryrefslogtreecommitdiff
path: root/sendsig.go
diff options
context:
space:
mode:
authorJakob Unterwurzacher2015-10-11 18:01:47 +0200
committerJakob Unterwurzacher2015-10-11 18:01:47 +0200
commit39183bea00f0d064f0cb96427dff150799d1dbe5 (patch)
tree364143fefb51130b0d21a94445bd9042f392e9d5 /sendsig.go
parent5dc7e44aa2cb6527b0e2f4e7108c8cbd7c2a72c1 (diff)
Rename sendSig to sendUsr1
This matches waitForUsr1 in daemonize()
Diffstat (limited to 'sendsig.go')
-rw-r--r--sendsig.go42
1 files changed, 0 insertions, 42 deletions
diff --git a/sendsig.go b/sendsig.go
deleted file mode 100644
index d0e1cbb..0000000
--- a/sendsig.go
+++ /dev/null
@@ -1,42 +0,0 @@
-package main
-
-import (
- "bytes"
- "fmt"
- "io/ioutil"
- "os"
- "syscall"
-)
-
-// cmdline looks like this: /bin/bash \0 /path/to/gocryptfs \0 --zerokey \0 ...
-const (
- WRAPPER_PREFIX = "/bin/bash\000"
- WRAPPER_CONTAINS = "gocryptfs\000"
-)
-
-// Send USR1 to the "gocryptfs" wrapper shell script. This notifies it that the
-// mounting has completed sucessfully.
-//
-// Checks /proc/$PPID/cmdline to make sure we do not kill an unrelated process.
-func sendSig() {
- ppid := os.Getppid()
- fn := fmt.Sprintf("/proc/%d/cmdline", ppid)
- cmdline, err := ioutil.ReadFile(fn)
- if err != nil {
- fmt.Printf("sendSig: ReadFile: %v\n", err)
- return
- }
- if bytes.HasPrefix(cmdline, []byte(WRAPPER_PREFIX)) && bytes.Contains(cmdline, []byte(WRAPPER_CONTAINS)) {
- p, err := os.FindProcess(ppid)
- if err != nil {
- fmt.Printf("sendSig: FindProcess: %v\n", err)
- return
- }
- err = p.Signal(syscall.SIGUSR1)
- if err != nil {
- fmt.Printf("sendSig: Signal: %v\n", err)
- }
- } else {
- fmt.Printf("Not running under the gocryptfs wrapper - will not daemonize\n")
- }
-}