diff options
| author | Carlos Martín Nieto <[email protected]> | 2014-12-06 02:44:57 +0100 |
|---|---|---|
| committer | Carlos Martín Nieto <[email protected]> | 2014-12-06 02:45:26 +0100 |
| commit | 8c631b0c25c8de616afa2fd89378299c9d9a1439 (patch) | |
| tree | 4f37d5612f17bc13a0a3d1b71019711430eab0c4 /merge.go | |
| parent | 0ec2f4665913a37df6f4d5704ea3a69bae2eb8b3 (diff) | |
Add missing thread locking
Diffstat (limited to 'merge.go')
| -rw-r--r-- | merge.go | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -39,6 +39,9 @@ func (r *Repository) AnnotatedCommitFromFetchHead(branchName string, remoteURL s cremoteURL := C.CString(remoteURL) defer C.free(unsafe.Pointer(cremoteURL)) + runtime.LockOSThread() + defer runtime.UnlockOSThread() + ret := C.git_annotated_commit_from_fetchhead(&mh.ptr, r.ptr, cbranchName, cremoteURL, oid.toC()) if ret < 0 { return nil, MakeGitError(ret) @@ -50,6 +53,9 @@ func (r *Repository) AnnotatedCommitFromFetchHead(branchName string, remoteURL s func (r *Repository) LookupAnnotatedCommit(oid *Oid) (*AnnotatedCommit, error) { mh := &AnnotatedCommit{} + runtime.LockOSThread() + defer runtime.UnlockOSThread() + ret := C.git_annotated_commit_lookup(&mh.ptr, r.ptr, oid.toC()) if ret < 0 { return nil, MakeGitError(ret) @@ -61,6 +67,9 @@ func (r *Repository) LookupAnnotatedCommit(oid *Oid) (*AnnotatedCommit, error) { func (r *Repository) AnnotatedCommitFromRef(ref *Reference) (*AnnotatedCommit, error) { mh := &AnnotatedCommit{} + runtime.LockOSThread() + defer runtime.UnlockOSThread() + ret := C.git_annotated_commit_from_ref(&mh.ptr, r.ptr, ref.ptr) if ret < 0 { return nil, MakeGitError(ret) @@ -98,6 +107,10 @@ func mergeOptionsFromC(opts *C.git_merge_options) MergeOptions { func DefaultMergeOptions() (MergeOptions, error) { opts := C.git_merge_options{} + + runtime.LockOSThread() + defer runtime.UnlockOSThread() + ecode := C.git_merge_init_options(&opts, C.GIT_MERGE_OPTIONS_VERSION) if ecode < 0 { return MergeOptions{}, MakeGitError(ecode) |
