diff options
-rw-r--r-- | libglusterfs/src/call-stub.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/libglusterfs/src/call-stub.c b/libglusterfs/src/call-stub.c index 63fe5be55..d58a2c7f9 100644 --- a/libglusterfs/src/call-stub.c +++ b/libglusterfs/src/call-stub.c @@ -4154,15 +4154,22 @@ out: void call_resume (call_stub_t *stub) { + xlator_t *old_THIS = NULL; + errno = EINVAL; GF_VALIDATE_OR_GOTO ("call-stub", stub, out); list_del_init (&stub->list); - if (stub->wind) - call_resume_wind (stub); - else - call_resume_unwind (stub); + old_THIS = THIS; + THIS = stub->frame->this; + { + if (stub->wind) + call_resume_wind (stub); + else + call_resume_unwind (stub); + } + THIS = old_THIS; call_stub_destroy (stub); out: |