Are u folks aware that you  wont get an EAGAIN/SIGIO sequence if there is no
avail socket buffer space ? on an O_NONBLOCK socketed fd, if u writev too
many characters ( approx 260k worth), u

1) get only a partial write ( ~~60k chars )
2) Try to write the other chars on the next writev() gets you an EAGAIN
error.

    Bec its NONBLOCKED, we sleep waiting for the SIGIO. ( or do other
useless things till we get the SIGIO signal )
3) We sleep forever waiting for a sigio that just aint comming.


It appears that there is code int the linux/net to handle the SO_NOSPACE
flag that get sets when the error occures, but apparently just doesn't work
the same way when the tcp I/O transmission is complete where i get the
expected SIGIO.

Is this something simple to fix ( a missing reference to callback3() ), or
is this a rewrite?
gat
This is linux 2.0.33 on alpha ( the last 2.0.xx kern that had an acceptable
adaptec controller code! )




Reply via email to