message: device_impl: comment about race, busy check
diff: @@ -132,6 +132,7 @@ void DeviceImpl::process_command_ack(const mavlink_message_t &message)
  // Ignore it if we're not waiting for an ack result.
  if (_command_state == CommandState::WAITING) {
  _command_result = (MAV_RESULT)command_ack.result;
  + // Update state after result to avoid a race over _command_result
  _command_state = CommandState::RECEIVED;
  if (_command_result == MAV_RESULT_ACCEPTED) {
  @@ -242,6 +243,10 @@ Result DeviceImpl::send_command(uint16_t command, const DeviceImpl::CommandParam
  return Result::DEVICE_NOT_CONNECTED;
  }
  + if (_command_state == CommandState::WAITING) {
  + return Result::DEVICE_BUSY;
  + }
  +
  mavlink_message_t message;
  mavlink_msg_command_long_pack(_own_system_id, _own_component_id,
  