diff options
Diffstat (limited to 'libglusterfs/src/call-stub.c')
| -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 63fe5be558f..d58a2c7f963 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:  | 
