Index: /branches/lennart/src/pulsecore/protocol-esound.c =================================================================== --- /branches/lennart/src/pulsecore/protocol-esound.c (revision 1884) +++ /branches/lennart/src/pulsecore/protocol-esound.c (revision 1964) @@ -949,5 +949,5 @@ if ((r = pa_iochannel_read(c->io, (uint8_t*) c->read_data + c->read_data_length, handler->data_length - c->read_data_length)) <= 0) { - if (errno == EINTR || errno == EAGAIN) + if (r < 0 && (errno == EINTR || errno == EAGAIN)) return 0; @@ -979,5 +979,5 @@ if (r <= 0) { - if (errno == EINTR || errno == EAGAIN) + if (r < 0 && (errno == EINTR || errno == EAGAIN)) return 0; @@ -1042,5 +1042,5 @@ if (r <= 0) { - if (errno == EINTR || errno == EAGAIN) + if (r < 0 && (errno == EINTR || errno == EAGAIN)) return 0; @@ -1073,5 +1073,5 @@ if ((r = pa_iochannel_write(c->io, (uint8_t*) c->write_data+c->write_data_index, c->write_data_length-c->write_data_index)) < 0) { - if (errno == EINTR || errno == EAGAIN) + if (r < 0 && (errno == EINTR || errno == EAGAIN)) return 0; @@ -1102,5 +1102,5 @@ if (r < 0) { - if (errno == EINTR || errno == EAGAIN) + if (r < 0 && (errno == EINTR || errno == EAGAIN)) return 0;