]> git.alsa-project.org Git - alsa-utils.git/commitdiff
aplay - added -EINTR error code handling for read/write operations
authorJaroslav Kysela <perex@perex.cz>
Tue, 23 Aug 2005 12:54:26 +0000 (12:54 +0000)
committerJaroslav Kysela <perex@perex.cz>
Tue, 23 Aug 2005 12:54:26 +0000 (12:54 +0000)
aplay/aplay.c

index 658ad3f79d1fc9847bf52840e52fce6641066991..2103ec8f6c8fb4f2825b425c4ddbda3c6f45f5d9 100644 (file)
@@ -1178,6 +1178,8 @@ static ssize_t pcm_write(u_char *data, size_t count)
                        xrun();
                } else if (r == -ESTRPIPE) {
                        suspend();
+               } else if (r == -EINTR) {
+                       continue;
                } else if (r < 0) {
                        error(_("write error: %s"), snd_strerror(r));
                        exit(EXIT_FAILURE);
@@ -1220,6 +1222,8 @@ static ssize_t pcm_writev(u_char **data, unsigned int channels, size_t count)
                        xrun();
                } else if (r == -ESTRPIPE) {
                        suspend();
+               } else if (r == -EINTR) {
+                       continue;
                } else if (r < 0) {
                        error(_("writev error: %s"), snd_strerror(r));
                        exit(EXIT_FAILURE);
@@ -1259,6 +1263,8 @@ static ssize_t pcm_read(u_char *data, size_t rcount)
                        xrun();
                } else if (r == -ESTRPIPE) {
                        suspend();
+               } else if (r == -EINTR) {
+                       continue;
                } else if (r < 0) {
                        error(_("read error: %s"), snd_strerror(r));
                        exit(EXIT_FAILURE);
@@ -1298,6 +1304,8 @@ static ssize_t pcm_readv(u_char **data, unsigned int channels, size_t rcount)
                        xrun();
                } else if (r == -ESTRPIPE) {
                        suspend();
+               } else if (r == -EINTR) {
+                       continue;
                } else if (r < 0) {
                        error(_("readv error: %s"), snd_strerror(r));
                        exit(EXIT_FAILURE);