diff options
| author | Aidan Nulman <[email protected]> | 2014-01-28 22:49:55 -0500 |
|---|---|---|
| committer | Aidan Nulman <[email protected]> | 2014-01-28 22:49:55 -0500 |
| commit | f610cf25d71d44881b31157832b49e793efc2d56 (patch) | |
| tree | fd96328d36655b7072651a042c888369e7e12c48 /odb.go | |
| parent | e6865861496daef507dc08fa14a22a74269df211 (diff) | |
| parent | 66e1c476199ebcd3e304659992233132c5a52c6c (diff) | |
Merge branch 'master' into custom_odb
Diffstat (limited to 'odb.go')
| -rw-r--r-- | odb.go | 8 |
1 files changed, 8 insertions, 0 deletions
@@ -55,6 +55,10 @@ func (v *Odb) Exists(oid *Oid) bool { func (v *Odb) Write(data []byte, otype ObjectType) (oid *Oid, err error) { oid = new(Oid) hdr := (*reflect.SliceHeader)(unsafe.Pointer(&data)) + + runtime.LockOSThread() + defer runtime.UnlockOSThread() + ret := C.git_odb_write(oid.toC(), v.ptr, unsafe.Pointer(hdr.Data), C.size_t(hdr.Len), C.git_otype(otype)) if ret < 0 { @@ -66,6 +70,10 @@ func (v *Odb) Write(data []byte, otype ObjectType) (oid *Oid, err error) { func (v *Odb) Read(oid *Oid) (obj *OdbObject, err error) { obj = new(OdbObject) + + runtime.LockOSThread() + defer runtime.UnlockOSThread() + ret := C.git_odb_read(&obj.ptr, v.ptr, oid.toC()) if ret < 0 { return nil, LastError() |
