diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/cdap.c | 7 | 
1 files changed, 5 insertions, 2 deletions
| diff --git a/src/lib/cdap.c b/src/lib/cdap.c index 54a5b262..38806c23 100644 --- a/src/lib/cdap.c +++ b/src/lib/cdap.c @@ -703,6 +703,7 @@ int cdap_reply_wait(struct cdap * instance,  {          int ret;          struct cdap_req * r; +        invoke_id_t iid;          if (instance == NULL || (data != NULL && len == NULL))                  return -EINVAL; @@ -711,10 +712,12 @@ int cdap_reply_wait(struct cdap * instance,          if (r == NULL)                  return -EINVAL; +        iid = r->iid; +          ret = cdap_req_wait(r);          if (ret < 0) {                  cdap_sent_del(instance, r); -                release_id(instance, r->iid); +                release_id(instance, iid);                  return ret;          } @@ -727,8 +730,8 @@ int cdap_reply_wait(struct cdap * instance,          ret = r->response; -        release_id(instance, r->iid);          cdap_sent_del(instance, r); +        release_id(instance, iid);          return ret;  } | 
