summaryrefslogtreecommitdiff
path: root/refdb.go
diff options
context:
space:
mode:
authorCarlos Martín Nieto <[email protected]>2014-12-06 02:44:57 +0100
committerCarlos Martín Nieto <[email protected]>2014-12-06 02:45:26 +0100
commit8c631b0c25c8de616afa2fd89378299c9d9a1439 (patch)
tree4f37d5612f17bc13a0a3d1b71019711430eab0c4 /refdb.go
parent0ec2f4665913a37df6f4d5704ea3a69bae2eb8b3 (diff)
Add missing thread locking
Diffstat (limited to 'refdb.go')
-rw-r--r--refdb.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/refdb.go b/refdb.go
index 46fbb63..36e2f0a 100644
--- a/refdb.go
+++ b/refdb.go
@@ -23,6 +23,9 @@ type RefdbBackend struct {
func (v *Repository) NewRefdb() (refdb *Refdb, err error) {
refdb = new(Refdb)
+ runtime.LockOSThread()
+ defer runtime.UnlockOSThread()
+
ret := C.git_refdb_new(&refdb.ptr, v.ptr)
if ret < 0 {
return nil, MakeGitError(ret)
@@ -38,6 +41,9 @@ func NewRefdbBackendFromC(ptr *C.git_refdb_backend) (backend *RefdbBackend) {
}
func (v *Refdb) SetBackend(backend *RefdbBackend) (err error) {
+ runtime.LockOSThread()
+ defer runtime.UnlockOSThread()
+
ret := C.git_refdb_set_backend(v.ptr, backend.ptr)
if ret < 0 {
backend.Free()