Add multi-thread protection and also allow atomic file creates, rename upon Close()

This commit is contained in:
Harshavardhana
2015-07-06 18:14:52 -07:00
parent c2c7bdf0cd
commit bbb89b5776
3 changed files with 78 additions and 15 deletions

View File

@@ -318,15 +318,15 @@ func (b bucket) writeObjectMetadata(objectName string, objMetadata ObjectMetadat
if err != nil {
return iodine.New(err, nil)
}
for _, objMetadataWriter := range objMetadataWriters {
defer objMetadataWriter.Close()
}
for _, objMetadataWriter := range objMetadataWriters {
jenc := json.NewEncoder(objMetadataWriter)
if err := jenc.Encode(&objMetadata); err != nil {
return iodine.New(err, nil)
}
}
for _, objMetadataWriter := range objMetadataWriters {
objMetadataWriter.Close()
}
return nil
}