diff --git a/blame.go b/blame.go index 5384038..55100a4 100644 --- a/blame.go +++ b/blame.go @@ -16,6 +16,9 @@ type BlameOptions struct { } func DefaultBlameOptions() (BlameOptions, error) { + runtime.LockOSThread() + defer runtime.UnlockOSThread() + opts := C.git_blame_options{} ecode := C.git_blame_init_options(&opts, C.GIT_BLAME_OPTIONS_VERSION) if ecode < 0 { @@ -63,6 +66,9 @@ func (v *Repository) BlameFile(path string, opts *BlameOptions) (*Blame, error) } } + runtime.LockOSThread() + defer runtime.UnlockOSThread() + ecode := C.git_blame_file(&blamePtr, v.ptr, C.CString(path), copts) if ecode < 0 { return nil, MakeGitError(ecode)