Question about command ack

FMU sends command ack to mavlink commands received. In mavlink_main.cpp:

MavlinkOrbSubscription *ack_sub = add_orb_subscription(ORB_ID(vehicle_command_ack));

Each mavlink process subscribe to ‘vehicle_command_ack’ topic.

The question is that, say, if FMU received one mavlink command from one mavlink channel, and then ack to this command, As there are multiple mavlink processes running, and every mavlink process is subscribed to vehicle_command_ack, so the result is FMU will send the ack in all mavlink channels, even the command only comes in from one channel?

This seems bit not reasonable behavior.

Just would like to confirm if it is the behavior or did i miss something?

Can anyone help with this question? Thanks!