[pulseaudio-discuss] [PATCH] core, modules: Remove useless EINTR tests

2019-05-28 Thread Frédéric Danis
Since commit ad447d14682 (in 2009) pa_read and pa_write take care of
handling EINTR error.
So, pa_read, pa_write, pa_iochannel_read and pa_iochannel_write can not
exit with errno set to EINTR, and testing it is useless.
---
 src/modules/bluetooth/module-bluez5-device.c | 16 +---
 src/modules/module-esound-sink.c |  4 +-
 src/modules/module-pipe-sink.c   | 17 -
 src/modules/module-pipe-source.c |  4 +-
 src/modules/module-solaris.c |  4 +-
 src/modules/oss/module-oss.c | 10 +
 src/pulsecore/fdsem.c| 40 ++--
 src/pulsecore/iochannel.c|  2 +-
 src/pulsecore/protocol-esound.c  |  8 ++--
 src/pulsecore/protocol-simple.c  |  2 +-
 10 files changed, 32 insertions(+), 75 deletions(-)

diff --git a/src/modules/bluetooth/module-bluez5-device.c 
b/src/modules/bluetooth/module-bluez5-device.c
index 56c96054d..f850a3a41 100644
--- a/src/modules/bluetooth/module-bluez5-device.c
+++ b/src/modules/bluetooth/module-bluez5-device.c
@@ -279,10 +279,6 @@ static int sco_process_render(struct userdata *u) {
 
 saved_errno = errno;
 
-if (saved_errno == EINTR)
-/* Retry right away if we got interrupted */
-continue;
-
 pa_memblock_unref(memchunk.memblock);
 
 if (saved_errno == EAGAIN) {
@@ -445,11 +441,7 @@ static int a2dp_write_buffer(struct userdata *u, size_t 
nbytes) {
 
 if (l < 0) {
 
-if (errno == EINTR)
-/* Retry right away if we got interrupted */
-continue;
-
-else if (errno == EAGAIN) {
+if (errno == EAGAIN) {
 /* Hmm, apparently the socket was not writable, give up for 
now */
 pa_log_debug("Got EAGAIN on write() after POLLOUT, probably 
there is a temporary connection loss.");
 break;
@@ -543,11 +535,7 @@ static int a2dp_process_push(struct userdata *u) {
 
 if (l <= 0) {
 
-if (l < 0 && errno == EINTR)
-/* Retry right away if we got interrupted */
-continue;
-
-else if (l < 0 && errno == EAGAIN)
+if (l < 0 && errno == EAGAIN)
 /* Hmm, apparently the socket was not readable, give up for 
now. */
 break;
 
diff --git a/src/modules/module-esound-sink.c b/src/modules/module-esound-sink.c
index 5ff04516a..f46dc3889 100644
--- a/src/modules/module-esound-sink.c
+++ b/src/modules/module-esound-sink.c
@@ -249,9 +249,7 @@ static void thread_func(void *userdata) {
 
 if (l < 0) {
 
-if (errno == EINTR)
-continue;
-else if (errno == EAGAIN) {
+if (errno == EAGAIN) {
 
 /* OK, we filled all socket buffers up
  * now. */
diff --git a/src/modules/module-pipe-sink.c b/src/modules/module-pipe-sink.c
index 213924fdc..43595420f 100644
--- a/src/modules/module-pipe-sink.c
+++ b/src/modules/module-pipe-sink.c
@@ -199,14 +199,13 @@ static ssize_t pipe_sink_write(struct userdata *u, 
pa_memchunk *pchunk) {
 if (l < 0) {
 if (errno == EAGAIN)
 break;
-else if (errno != EINTR) {
-if (!u->fifo_error) {
-pa_log("Failed to write data to FIFO: %s", 
pa_cstrerror(errno));
-u->fifo_error = true;
-}
-count = -1 - count;
-break;
+
+if (!u->fifo_error) {
+pa_log("Failed to write data to FIFO: %s", 
pa_cstrerror(errno));
+u->fifo_error = true;
 }
+count = -1 - count;
+break;
 } else {
 if (u->fifo_error) {
 pa_log_debug("Recovered from FIFO error");
@@ -288,9 +287,7 @@ static int process_render(struct userdata *u) {
 
 if (l < 0) {
 
-if (errno == EINTR)
-continue;
-else if (errno == EAGAIN)
+if (errno == EAGAIN)
 return 0;
 else {
 pa_log("Failed to write data to FIFO: %s", 
pa_cstrerror(errno));
diff --git a/src/modules/module-pipe-source.c b/src/modules/module-pipe-source.c
index 74ec0551a..32b35c163 100644
--- a/src/modules/module-pipe-source.c
+++ b/src/modules/module-pipe-source.c
@@ -155,9 +155,7 @@ static void thread_func(void *userdata) {
 
 if (l < 0) {
 
-if (errno == EINTR)
-continue;
-else if (errno != EAGAIN) {
+if (errno != EAGAIN) {
 pa_log("Failed to read data from FIFO: %s", 
pa_cstrerror(errno));
 goto fail;
 }
diff --git a/src/modules/module-solaris.c b/src/modules/module-solaris.c
index 038aca114..ec9eb875f 1

Re: [pulseaudio-discuss] Working on a new network transport for PulseAudio

2019-05-28 Thread Victor Gaydov
On Wed, 15 May 2019 09:31:04 +0200
Victor Gaydov  wrote:

> On Fri, 10 May 2019 21:15:48 +0300
> Tanu Kaskinen  wrote:
> 
> [...]

Meanwhile, we've finally released 0.1 today:
https://gavv.github.io/articles/roc-0.1/

We'll focus one or two next releases on the session negotiation support
and adding more encodings. (I hope this won't take long).

After that I'll switch to further improvements of the PulseAudio
modules.

-- Victor
___
pulseaudio-discuss mailing list
pulseaudio-discuss@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss