Branch: refs/heads/master Home: https://github.com/fabbione/kronosnet Commit: 82d1d36e66bb27ef35ce9ff9fa83bb67113fec36 https://github.com/fabbione/kronosnet/commit/82d1d36e66bb27ef35ce9ff9fa83bb6... Author: Fabio M. Di Nitto fdinitto@redhat.com Date: 2017-01-16 (Mon, 16 Jan 2017)
Changed paths: M libknet/transport_sctp.c
Log Message: ----------- [sctp] port sctp to the new API and fix many issues
- use the new transport API - fix locking context around to avoid race conditions and deadlocking - fix shutdown code (segfaults and core dumps) - properly differentiate between connecting sockets and accepted sockets and better use of fd_tracker - abstract as much as possible socket management code from threads - add lots of comments and debugging messages around - simplify socket error management reported from RX thread - rework loop timers for connect_thread to avoid thread overload - reduce usage of _transport_addrtostr to one call and reuse link information around - improve error handling across the board - stop using data structs inside epolls and switch back to using fds this was necessary to avoid processing stale data from epolls and look up data from fd_tracket instead - add listener stop function - make functions safer to be called multiple times - probably more.. but can't remember
NOTE: this is not the most elegant code, but it seems to be doing its job fine.
Signed-off-by: Fabio M. Di Nitto fdinitto@redhat.com