X-Git-Url: http://g0dil.de/git?a=blobdiff_plain;f=Socket%2FReadWritePolicy.cc;h=4b4362571658b86b153bd44ef8063bf8063e802a;hb=b41b8147c7a2d40e2f69471e183840be8a0b95da;hp=ed753ee2aaa85003aff264c4dab957d875f5b8f9;hpb=ad1b2f1e3dc6efcf38b37201bfa7424295ef9582;p=senf.git diff --git a/Socket/ReadWritePolicy.cc b/Socket/ReadWritePolicy.cc index ed753ee..4b43625 100644 --- a/Socket/ReadWritePolicy.cc +++ b/Socket/ReadWritePolicy.cc @@ -91,6 +91,12 @@ prefix_ unsigned senf::WriteablePolicy::do_write(FileHandle handle, char const * case EINTR: break; case EAGAIN: + case ECONNREFUSED: + // Writing to a UDP socket seems return this error code if a corresponding ICMP + // error code has been received before (at least on linux). This is inconsistent + // since I cannot rely on getting ECONNREFUSED. I therefore ignore this error. TCP + // sockets will return this error on connect() and not on write(). Therefore we can + // unconditionally ignore this error here. rv = 0; break; default: @@ -132,4 +138,6 @@ prefix_ unsigned senf::WriteablePolicy::do_writeto(FileHandle handle, // c-file-style: "senf" // indent-tabs-mode: nil // ispell-local-dictionary: "american" +// compile-command: "scons -u test" +// comment-column: 40 // End: