summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libglusterfs/src/call-stub.c15
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: