[CentOS] socket: write vs send
Ross Walker
rswwalker at gmail.com
Wed Apr 7 12:11:16 UTC 2010
On Apr 6, 2010, at 3:37 PM, Les Mikesell <lesmikesell at gmail.com> wrote:
> On 4/6/2010 2:16 PM, Michael D. Berger wrote:
>> On CentOS 5.4,
>> Linux 2.6.18-164.6.1.el5 #1 SMP Tue Nov 3 16:18:27 EST 2009
>> i686 i686 i386 GNU/Linux
>>
>> In man 2 send I find:
>>
>> The send() call may be used only when the socket is in a
>> connected
>> state (so that the intended recipient is known). The only
>> difference
>> between send() and write() is the presence of flags. With zero
>> flags
>> parameter, send() is equivalent to write().
>>
>> In some complex server software, if the client disconnects:
>> send: delivers errno == ECONNRESET
>> but
>> write: crashes the server process.
>>
>> So it is not really equivalent. Any thoughts on this?
>
> Are you sure it isn't the normal signal associated with a write when
> the
> other end closes first that is crashing the process?
Yes it's probably broken pipe that is casing the signal.
-Ross
More information about the CentOS
mailing list