Branch: refs/heads/master
Home:
https://github.com/fabbione/kronosnet
Commit: 82d1d36e66bb27ef35ce9ff9fa83bb67113fec36
https://github.com/fabbione/kronosnet/commit/82d1d36e66bb27ef35ce9ff9fa83bb…
Author: Fabio M. Di Nitto <fdinitto(a)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(a)redhat.com>