コード例 #1
0
ファイル: rwmsg_method.c プロジェクト: RIFTIO/RIFT.ware
void rwmsg_method_destroy(rwmsg_endpoint_t *ep,
			  rwmsg_method_t *meth) {
  if (!meth->refct) {
    if (meth->pathidx) {
      rwmsg_bool_t prval = rwmsg_endpoint_path_del(ep, meth->pathidx);
      RW_ASSERT(prval);
    }

    RW_ASSERT(meth->sig);
    RW_ASSERT(meth->sig->refct > 0);
    rwmsg_signature_release(ep, meth->sig);

    RW_FREE_TYPE(meth, rwmsg_method_t);
    ck_pr_dec_32(&ep->stat.objects.methods);
  }
}
コード例 #2
0
static void deinit_server(rwmsg_perf_task_t *t) {
  rwmsg_signature_release(t->ep, t->sig);
  rwmsg_method_release(t->ep, t->meth);
  rwmsg_srvchan_halt(t->sc);
}