It is impossible to set O_NONBLOCK option by fcntl function under Solaris when TIPC 1.7.5 is used.
Further, even there is no error in Linux implementation looks like option is not working on linux as well.
A TIPC 1.7 link endpoint does not always processing incoming messages in sequential order if its bearer utilizes a driver with multiple receiving threads. This can be illustrated by the following sequence of events, involving a node with multi-core CPUs A and B:
cpu A
1) invokes tipc_recv_msg() with packet N
2) performs read_lock_bh(&tipc_net_lock) [this ensures TIPC's view of the network...