本文整理汇总了Golang中syscall.Stat_t.Atim方法的典型用法代码示例。如果您正苦于以下问题:Golang Stat_t.Atim方法的具体用法?Golang Stat_t.Atim怎么用?Golang Stat_t.Atim使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类syscall.Stat_t
的用法示例。
在下文中一共展示了Stat_t.Atim方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: watchDaemon
func watchDaemon(mdbFileName string, mdbChannel chan<- *mdb.Mdb,
logger *log.Logger) {
var lastStat syscall.Stat_t
var lastMdb *mdb.Mdb
for ; ; time.Sleep(time.Second) {
var stat syscall.Stat_t
if err := syscall.Stat(mdbFileName, &stat); err != nil {
logger.Printf("Error stating file: %s\t%s\n", mdbFileName, err)
continue
}
stat.Atim = lastStat.Atim
if stat != lastStat {
mdb := loadFile(mdbFileName, logger)
if mdb == nil {
continue
}
compareStartTime := time.Now()
if lastMdb == nil || !compare(lastMdb, mdb) {
if lastMdb != nil {
mdbCompareTimeDistribution.Add(time.Since(compareStartTime))
}
mdbChannel <- mdb
lastMdb = mdb
}
lastStat = stat
}
}
}
示例2: watchDaemon
func watchDaemon(mdbFileName string, mdbChannel chan *Mdb, logger *log.Logger) {
var lastStat syscall.Stat_t
var lastMdb *Mdb
for ; ; time.Sleep(time.Second) {
var stat syscall.Stat_t
if err := syscall.Stat(mdbFileName, &stat); err != nil {
logger.Printf("Error stating file: %s\t%s\n", mdbFileName, err)
continue
}
stat.Atim = lastStat.Atim
if stat != lastStat {
file, err := os.Open(mdbFileName)
if err != nil {
logger.Printf("Error opening file\t%s\n", err)
continue
}
decoder := json.NewDecoder(file)
var mdb Mdb
decodeStartTime := time.Now()
if err = decoder.Decode(&mdb.Machines); err != nil {
logger.Printf("Error decoding\t%s\n", err)
continue
}
sortStartTime := time.Now()
mdbDecodeTimeDistribution.Add(sortStartTime.Sub(decodeStartTime))
sort.Sort(&mdb)
compareStartTime := time.Now()
mdbSortTimeDistribution.Add(compareStartTime.Sub(sortStartTime))
if lastMdb == nil || !compare(lastMdb, &mdb) {
if lastMdb != nil {
mdbCompareTimeDistribution.Add(time.Since(compareStartTime))
}
mdbChannel <- &mdb
lastMdb = &mdb
}
lastStat = stat
}
}
}