summaryrefslogtreecommitdiff
path: root/index.go
diff options
context:
space:
mode:
authorCarlos Martín Nieto <[email protected]>2013-12-18 07:19:02 -0800
committerCarlos Martín Nieto <[email protected]>2013-12-18 07:19:02 -0800
commit66e1c476199ebcd3e304659992233132c5a52c6c (patch)
tree115fcae49287c82eb55bb275cbbd4556fbed72b7 /index.go
parent625ffd022e2c39f3820543cc1239deeb21837266 (diff)
parenta40bdfd4202db244bfc5da348a0f0c528ef122cd (diff)
Merge pull request #41 from libgit2/cmn/threading
Lock the OS thread when acessing errors
Diffstat (limited to 'index.go')
-rw-r--r--index.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/index.go b/index.go
index 4a69c1e..ac5148c 100644
--- a/index.go
+++ b/index.go
@@ -24,6 +24,9 @@ func (v *Index) AddByPath(path string) error {
cstr := C.CString(path)
defer C.free(unsafe.Pointer(cstr))
+ runtime.LockOSThread()
+ defer runtime.UnlockOSThread()
+
ret := C.git_index_add_bypath(v.ptr, cstr)
if ret < 0 {
return LastError()
@@ -34,6 +37,10 @@ func (v *Index) AddByPath(path string) error {
func (v *Index) WriteTree() (*Oid, error) {
oid := new(Oid)
+
+ runtime.LockOSThread()
+ defer runtime.UnlockOSThread()
+
ret := C.git_index_write_tree(oid.toC(), v.ptr)
if ret < 0 {
return nil, LastError()