refactored: Added select() before read, instead of trust in EAGAIN (less CPU used), 0 leak achieved.
Added a @todo