diff --git a/src/runtime2/component/control_layer.rs b/src/runtime2/component/control_layer.rs index 15f4cac2faa53c69514a2da1fc15064197ad6c27..17d575a6a87403c4d4ee81b8b29f8004a42df580 100644 --- a/src/runtime2/component/control_layer.rs +++ b/src/runtime2/component/control_layer.rs @@ -215,7 +215,7 @@ impl ControlLayer { /// Initiates the control message procedures for closing a port. Caller must /// make sure that the port state has already been set to `Closed`. - pub(crate) fn initiate_port_closing(&mut self, port_handle: LocalPortHandle, comp_ctx: &CompCtx) -> (LocalPeerHandle, ControlMessage) { + pub(crate) fn initiate_port_closing(&mut self, port_handle: LocalPortHandle, exit_inside_sync: bool, comp_ctx: &CompCtx) -> (LocalPeerHandle, ControlMessage) { let port = comp_ctx.get_port(port_handle); let peer_port_id = port.peer_port_id; debug_assert!(port.state == PortState::Closed); @@ -236,7 +236,10 @@ impl ControlLayer { id: entry_id, sender_comp_id: comp_ctx.id, target_port_id: Some(peer_port_id), - content: ControlMessageContent::ClosePort(peer_port_id), + content: ControlMessageContent::ClosePort(ControlMessageClosePort{ + port_to_close: peer_port_id, + closed_in_sync_round: exit_inside_sync, + }), } ); }