&reply_codec,
exec_req->obj,
&env);
-
- forb_iop_send_reply(forb, &exec_req->source,
- &reply_codec,
- exec_req->request_id, &env);
+
+ // The local invocation case
+ if ((exec_req->request_type = local)) {
+ *(exec_req->input_request->cdr_reply) = reply_codec; //FIXME: better without copying?
+ // notify that the reply is ready
+ forb_syncobj_signal(&exec_req->input_request->reply_ready);
+ } else {
+ forb_iop_send_reply(forb, &exec_req->source,
+ &reply_codec,
+ exec_req->request_id, &env);
+ }
FORB_CDR_codec_release_buffer(&reply_codec);
forb_exec_req_destroy(exec_req);
}