summaryrefslogtreecommitdiff
path: root/transport.go
diff options
context:
space:
mode:
Diffstat (limited to 'transport.go')
-rw-r--r--transport.go7
1 files changed, 4 insertions, 3 deletions
diff --git a/transport.go b/transport.go
index 1afa6f4..23514b4 100644
--- a/transport.go
+++ b/transport.go
@@ -22,7 +22,6 @@ void _go_git_setup_smart_subtransport_stream(_go_managed_smart_subtransport_stre
*/
import "C"
import (
- "errors"
"fmt"
"io"
"reflect"
@@ -306,8 +305,10 @@ func smartTransportCallback(
registeredSmartTransport := pointerHandles.Get(handle).(*RegisteredSmartTransport)
remote, ok := remotePointers.get(owner)
if !ok {
- err := errors.New("remote pointer not found")
- return setCallbackError(errorMessage, err)
+ // create a new empty remote and set it
+ // as a weak pointer, so that control stays in golang
+ remote = createNewEmptyRemote()
+ remote.weak = true
}
managed := &managedSmartSubtransport{