main.go | 6 +++++- diff --git a/main.go b/main.go index 855fb14f37eae8b6a207e1f1fe6c3f77cd4b5139..9f65a79dddf2f81e98c5f61a5d35608698019a6b 100644 --- a/main.go +++ b/main.go @@ -49,9 +49,13 @@ if len(flag.Args()) == 0 { flag.Usage() os.Exit(1) } + var fn string if *maxSecs > 0 { go func() { time.Sleep(time.Duration(*maxSecs) * time.Second) + if fn != "" { + os.Remove(fn) + } fatal("max aliveness time is reached") }() } @@ -114,7 +118,7 @@ rnd := make([]byte, 12) if _, err = io.ReadFull(rand.Reader, rnd); err != nil { fatal(err.Error()) } - fn := "." + base32.StdEncoding.WithPadding(base32.NoPadding).EncodeToString(rnd) + + fn = "." + base32.StdEncoding.WithPadding(base32.NoPadding).EncodeToString(rnd) + ext fd, err := os.OpenFile(fn, os.O_RDWR|os.O_CREATE|os.O_EXCL, os.FileMode(0666)) if err != nil {