| Age | Commit message (Collapse) | Author |
|
When iterating through receivers code was assuming that ppeers[n].fd ==
peers[n] that is wrong.
Noticed in #1 by @aureliumsk:
https://github.com/nakidai/ttb/issues/1
|
|
When signal occures, write can return with EINTR and shouls be recalled
then
see: signal(7)
|
|
Since with tcp socket write call will either send whole buffer of return
an error (no probability of partial send) complex sending loop can be
removed and replaced with one write call instead
see: send(2), write(2), signal(7)
|
|
On each iteration of partial write ttb need to shift data it want to
send rather than try to resend whole buffer again
|
|
It was a bit inconsistent then
|
|
Since it is used in poll, no need for it to be non-blocking
Also, accept(2) actually has a lot of error codes, and its return value
should be checked
|
|
While generating, server socket must be added so it will be able to be
poll(2)ed
|
|
- There's no need for storing port and inaddr as separated variables
- res can be declared in line with peers
- Also, since POLL_WAITMS was removed, no need for checking poll for 0
|
|
This way it's also handled through poll, so no need for POLL_WAITMS
anymore
Though peers[0] is now reserved for server's socket, so server can
handle up to SOCKETS_MAX-1 sockets from now
|
|
- Don't make client sockets nonblocking as poll doesnt require this.
Hence, fcntl and errno are not needed there anymore
- Add ; after label cuz clang complains about variable declarations
after labels and blah blah
- Add checks for write(2) call to be sure that all data is sent
|
|
|