| 75 | } |
| 76 | |
| 77 | func (b *bisyncRun) renewLockFile() { |
| 78 | if b.lockFile != "" && bilib.FileExists(b.lockFile) { |
| 79 | |
| 80 | b.lockFileOpt.data.Session = b.basePath |
| 81 | b.lockFileOpt.data.PID = strconv.Itoa(os.Getpid()) |
| 82 | b.lockFileOpt.data.TimeRenewed = time.Now() |
| 83 | b.lockFileOpt.data.TimeExpires = time.Now().Add(time.Duration(b.opt.MaxLock)) |
| 84 | |
| 85 | // save data file |
| 86 | df, err := os.Create(b.lockFile) |
| 87 | b.handleErr(b.lockFile, "error renewing lock file", err, true, true) |
| 88 | b.handleErr(b.lockFile, "error encoding JSON to lock file", json.NewEncoder(df).Encode(b.lockFileOpt.data), true, true) |
| 89 | b.handleErr(b.lockFile, "error closing lock file", df.Close(), true, true) |
| 90 | if b.opt.MaxLock < basicallyforever { |
| 91 | fs.Infof(nil, Color(terminal.HiBlueFg, "lock file renewed for %v. New expiration: %v"), b.opt.MaxLock, b.lockFileOpt.data.TimeExpires) |
| 92 | } |
| 93 | } |
| 94 | } |
| 95 | |
| 96 | func (b *bisyncRun) lockFileIsExpired() bool { |
| 97 | if b.lockFile != "" && bilib.FileExists(b.lockFile) { |