dm: apply new mevent API to avoid race issue in mei

Pass teardown callback when add mevent in mei mediator code.
Which could avoid run_callback calling after the related data
structure is freed.

Tracked-On: #1877
Signed-off-by: Yin Fengwei <fengwei.yin@intel.com>
Acked-by: Yu Wang <yu1.wang@intel.com>
This commit is contained in:
Yin Fengwei
2018-11-26 16:12:13 +08:00
committed by wenlingz
parent 64d9c59aa1
commit 7fce2462a0
2 changed files with 26 additions and 13 deletions

View File

@@ -254,8 +254,6 @@ mevent_add(int tfd, enum ev_type type,
return mevp;
} else {
if (mevp->teardown)
mevp->teardown(mevp->teardown_param);
free(mevp);
return NULL;
}
@@ -347,6 +345,9 @@ mevent_delete_event(struct mevent *evp, int closefd)
if (evp->closefd) {
close(evp->me_fd);
}
if (evp->teardown)
evp->teardown(evp->teardown_param);
free(evp);
}
return 0;