Hi, With xenomai 3 (but i think the behaviour was the same with xenomai 2), with loopback enabled, when there is no physical device on the bus, the following happens :
* the messages fill the internal socket buffers. this result in any blocking send call actually blocking the caller * when this happens, this also block the loopback interface, since can messages are only loopbacked if succesfully sent to the physical interface. We would like to change the behaviour in the following way : * if the physical interface is in error, and there is a single client, no change (ie, continue to block) * if the physical interface is in error, but there are multiple clients (ie, the loopback will be trigged), then : * discard the message from the physical interface * loopback the messages to the connected clients We believe this is a more logical behaviour if each program working with the rtcan is seen as a separate physical device -> the error of one device should not compromise the communication between others, while still remain the behaviour that if no one listens, then the message cannot be sent. This is a big change, and likely to break any code that rely on the previous behaviour. So, questions : * has such a change any chance to reach mainline xenomai ? (we're gonna do and provide the necessary patches) * if so, should this behaviour be made optional ? The loopback property could be changed from a single yes/no to a tri-valued easily in that regard. Thanks, Julien _______________________________________________ Xenomai mailing list Xenomai@xenomai.org https://xenomai.org/mailman/listinfo/xenomai