Skip to content

Commit 896e463

Browse files
committed
hotfix
1 parent 104d293 commit 896e463

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

future.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,6 @@ func (fut *Future) SetResponse(header Header, body io.Reader) error {
6767
fut.resp = resp
6868

6969
close(fut.done)
70-
fut.release()
7170
return nil
7271
}
7372

@@ -82,7 +81,6 @@ func (fut *Future) SetError(err error) {
8281
fut.err = err
8382

8483
close(fut.done)
85-
fut.release()
8684
}
8785

8886
// GetResponse waits for Future to be filled and returns Response and error.
@@ -103,6 +101,7 @@ func (fut *Future) GetResponse() (Response, error) {
103101
// "error" could be Error, if it is error returned by Tarantool,
104102
// or ClientError, if something bad happens in a client process.
105103
func (fut *Future) Get() ([]interface{}, error) {
104+
defer fut.release()
106105
fut.wait()
107106
if fut.err != nil {
108107
return nil, fut.err
@@ -115,6 +114,7 @@ func (fut *Future) Get() ([]interface{}, error) {
115114
//
116115
// Note: Tarantool usually returns array of tuples (except for Eval and Call17 actions).
117116
func (fut *Future) GetTyped(result interface{}) error {
117+
defer fut.release()
118118
fut.wait()
119119
if fut.err != nil {
120120
return fut.err

0 commit comments

Comments
 (0)