func (p *SyncPair) handleCreate(lName uri.Uri) { rName, err := p.ToRight(lName) if err != nil { logger.Error(err.Error()) return } if !lName.ModTime().After(rName.ModTime()) { return } for { err := rName.Create(lName.IsDir(), lName.Mode()) if err == nil { break } else { time.Sleep(time.Second * 1) } } if rName.IsDir() { return } //first time copy file. lFd, rFd := copyFile(rName, lName) defer lFd.Close() defer rFd.Close() logger.Info("Sync succesfully: " + lName.Abs() + " ==> " + rName.Abs()) }