mirror of
https://github.com/tuna/tunasync.git
synced 2025-04-20 11:42:43 +00:00
closing log files where they were opened
This commit is contained in:
parent
d10387e40b
commit
1fb9f85862
@ -19,6 +19,7 @@ type baseProvider struct {
|
|||||||
isMaster bool
|
isMaster bool
|
||||||
|
|
||||||
cmd *cmdJob
|
cmd *cmdJob
|
||||||
|
logFileFd *os.File
|
||||||
isRunning atomic.Value
|
isRunning atomic.Value
|
||||||
|
|
||||||
cgroup *cgroupHook
|
cgroup *cgroupHook
|
||||||
@ -128,10 +129,19 @@ func (p *baseProvider) prepareLogFile(append bool) error {
|
|||||||
logger.Errorf("Error opening logfile %s: %s", p.LogFile(), err.Error())
|
logger.Errorf("Error opening logfile %s: %s", p.LogFile(), err.Error())
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
p.logFileFd = logFile
|
||||||
p.cmd.SetLogFile(logFile)
|
p.cmd.SetLogFile(logFile)
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (p *baseProvider) closeLogFile() (err error) {
|
||||||
|
if p.logFileFd != nil {
|
||||||
|
err = p.logFileFd.Close()
|
||||||
|
p.logFileFd = nil
|
||||||
|
}
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
func (p *baseProvider) Run() error {
|
func (p *baseProvider) Run() error {
|
||||||
panic("Not Implemented")
|
panic("Not Implemented")
|
||||||
}
|
}
|
||||||
|
@ -88,6 +88,7 @@ func (p *cmdProvider) DataSize() string {
|
|||||||
|
|
||||||
func (p *cmdProvider) Run() error {
|
func (p *cmdProvider) Run() error {
|
||||||
p.dataSize = ""
|
p.dataSize = ""
|
||||||
|
defer p.closeLogFile()
|
||||||
if err := p.Start(); err != nil {
|
if err := p.Start(); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -105,6 +105,7 @@ func (p *rsyncProvider) DataSize() string {
|
|||||||
|
|
||||||
func (p *rsyncProvider) Run() error {
|
func (p *rsyncProvider) Run() error {
|
||||||
p.dataSize = ""
|
p.dataSize = ""
|
||||||
|
defer p.closeLogFile()
|
||||||
if err := p.Start(); err != nil {
|
if err := p.Start(); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -118,9 +118,6 @@ func (c *cmdJob) Wait() error {
|
|||||||
return c.retErr
|
return c.retErr
|
||||||
default:
|
default:
|
||||||
err := c.cmd.Wait()
|
err := c.cmd.Wait()
|
||||||
if c.cmd.Stdout != nil {
|
|
||||||
c.cmd.Stdout.(*os.File).Close()
|
|
||||||
}
|
|
||||||
c.retErr = err
|
c.retErr = err
|
||||||
close(c.finished)
|
close(c.finished)
|
||||||
return err
|
return err
|
||||||
|
@ -156,6 +156,7 @@ func (p *twoStageRsyncProvider) Run() error {
|
|||||||
if err := p.prepareLogFile(stage > 1); err != nil {
|
if err := p.prepareLogFile(stage > 1); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
defer p.closeLogFile()
|
||||||
|
|
||||||
if err = p.cmd.Start(); err != nil {
|
if err = p.cmd.Start(); err != nil {
|
||||||
return err
|
return err
|
||||||
|
Loading…
x
Reference in New Issue
Block a user