X-Git-Url: http://www.git.cypherpunks.ru/?a=blobdiff_plain;f=src%2Fcheck.go;h=ac26e9ce3a322d227ff8530b4a7fe35c8b9442d8;hb=785dbe18183ba25a478a50c1d96fe263b5ab43f2;hp=2569e6af15c360d334e7e650d00cfacdae7679f1;hpb=4a936a26e5a220b0b3538c0719566ddf33ffbf7f;p=nncp.git diff --git a/src/check.go b/src/check.go index 2569e6a..ac26e9c 100644 --- a/src/check.go +++ b/src/check.go @@ -82,6 +82,7 @@ func (ctx *Ctx) CheckNoCK(nodeId *NodeId, hshValue *[32]byte) (int64, error) { if err != nil { return 0, err } + defer fd.Close() fi, err := fd.Stat() if err != nil { return 0, err @@ -101,5 +102,18 @@ func (ctx *Ctx) CheckNoCK(nodeId *NodeId, hshValue *[32]byte) (int64, error) { if err = os.Rename(pktPath+NoCKSuffix, pktPath); err != nil { return 0, err } - return size, DirSync(dirToSync) + if err = DirSync(dirToSync); err != nil { + return size, err + } + if ctx.HdrUsage { + if _, err = fd.Seek(0, io.SeekStart); err != nil { + return size, err + } + _, pktEncRaw, err := ctx.HdrRead(fd) + if err != nil { + return size, err + } + ctx.HdrWrite(pktEncRaw, pktPath) + } + return size, err }