lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 14 Jan 2009 03:32:43 -0500 From: Bill Fink <billfink@...dspring.com> To: Rick Jones <rick.jones2@...com> Cc: Herbert Xu <herbert@...dor.apana.org.au>, ilpo.jarvinen@...sinki.fi, zbr@...emap.net, bert.hubert@...herlabs.nl, h.willstrand@...il.com, netdev@...r.kernel.org Subject: Re: sendfile()? Re: SO_LINGER dead: I get an immediate RST on 2.6.24? On Wed, 14 Jan 2009, Rick Jones wrote: > >>How likely is it that the "additional small delay" above would be much > >>less than waiting for a read return of zero after a shutdown(SHUT_WR) call? > > > > > > I'm not sure I understand what you're getting at. I did consider doing > > something like what you suggested, but in the end decided it was simpler > > to deal with a fully ESTABLISHED connection, than worrying about possible > > races with a socket being (partially or fully) closed. > > Ostensibly, using a shutdown(SHUT_WR) and then a wait for a recv return > of zero would take about the same length of time as polling local > connection stats to see that there were no ostensibly unacked data - > both will take one RTT right? and shutdown/read has the added property > that it will deal with zero windows automagically. With the shutdown(SHUT_WR)/read() approach, I would have had to set a timeout on the read, to handle the case where the peer just went away, whereas currently I just check elapsed time (I strive to make nuttcp robust in such cases to allow it to be used reliably within scripts run for example from cron). Also, I was (perhaps unncessarily) worried that after the zero read(), the socket would effectively be closed, and I wasn't sure then about the reliability of using tcp_info to get the tcpi_total_retrans at that point. As with most things, there's more than one way to skin a cat. -Bill -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists