mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-11 13:30:02 -05:00
Wrap strerror() in a function that makes it thread safe and converts the
output to UTF-8. git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@945 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
bf09399d0e
commit
4e3dc7ce68
49 changed files with 337 additions and 169 deletions
|
|
@ -31,6 +31,7 @@
|
|||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <polyp/error.h>
|
||||
#include <polyp/timeval.h>
|
||||
#include <polyp/xmalloc.h>
|
||||
|
||||
|
|
@ -216,13 +217,13 @@ static int mcast_socket(const struct sockaddr* sa, socklen_t salen) {
|
|||
|
||||
af = sa->sa_family;
|
||||
if ((fd = socket(af, SOCK_DGRAM, 0)) < 0) {
|
||||
pa_log(__FILE__": Failed to create socket: %s", strerror(errno));
|
||||
pa_log(__FILE__": Failed to create socket: %s", pa_cstrerror(errno));
|
||||
goto fail;
|
||||
}
|
||||
|
||||
one = 1;
|
||||
if (setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one)) < 0) {
|
||||
pa_log(__FILE__": SO_REUSEADDR failed: %s", strerror(errno));
|
||||
pa_log(__FILE__": SO_REUSEADDR failed: %s", pa_cstrerror(errno));
|
||||
goto fail;
|
||||
}
|
||||
|
||||
|
|
@ -239,12 +240,12 @@ static int mcast_socket(const struct sockaddr* sa, socklen_t salen) {
|
|||
}
|
||||
|
||||
if (r < 0) {
|
||||
pa_log_info(__FILE__": Joining mcast group failed: %s", strerror(errno));
|
||||
pa_log_info(__FILE__": Joining mcast group failed: %s", pa_cstrerror(errno));
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (bind(fd, sa, salen) < 0) {
|
||||
pa_log(__FILE__": bind() failed: %s", strerror(errno));
|
||||
pa_log(__FILE__": bind() failed: %s", pa_cstrerror(errno));
|
||||
goto fail;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@
|
|||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include <polyp/error.h>
|
||||
#include <polyp/timeval.h>
|
||||
#include <polyp/util.h>
|
||||
#include <polyp/xmalloc.h>
|
||||
|
|
@ -238,28 +239,28 @@ int pa__init(pa_core *c, pa_module*m) {
|
|||
}
|
||||
|
||||
if ((fd = socket(af, SOCK_DGRAM, 0)) < 0) {
|
||||
pa_log(__FILE__": socket() failed: %s", strerror(errno));
|
||||
pa_log(__FILE__": socket() failed: %s", pa_cstrerror(errno));
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (connect(fd, af == AF_INET ? (struct sockaddr*) &sa4 : (struct sockaddr*) &sa6, af == AF_INET ? sizeof(sa4) : sizeof(sa6)) < 0) {
|
||||
pa_log(__FILE__": connect() failed: %s", strerror(errno));
|
||||
pa_log(__FILE__": connect() failed: %s", pa_cstrerror(errno));
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if ((sap_fd = socket(af, SOCK_DGRAM, 0)) < 0) {
|
||||
pa_log(__FILE__": socket() failed: %s", strerror(errno));
|
||||
pa_log(__FILE__": socket() failed: %s", pa_cstrerror(errno));
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (connect(sap_fd, af == AF_INET ? (struct sockaddr*) &sap_sa4 : (struct sockaddr*) &sap_sa6, af == AF_INET ? sizeof(sap_sa4) : sizeof(sap_sa6)) < 0) {
|
||||
pa_log(__FILE__": connect() failed: %s", strerror(errno));
|
||||
pa_log(__FILE__": connect() failed: %s", pa_cstrerror(errno));
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (setsockopt(fd, IPPROTO_IP, IP_MULTICAST_LOOP, &loop, sizeof(loop)) < 0 ||
|
||||
setsockopt(sap_fd, IPPROTO_IP, IP_MULTICAST_LOOP, &loop, sizeof(loop)) < 0) {
|
||||
pa_log(__FILE__": IP_MULTICAST_LOOP failed: %s", strerror(errno));
|
||||
pa_log(__FILE__": IP_MULTICAST_LOOP failed: %s", pa_cstrerror(errno));
|
||||
goto fail;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,6 +36,8 @@
|
|||
#include <sys/filio.h>
|
||||
#endif
|
||||
|
||||
#include <polyp/error.h>
|
||||
|
||||
#include <polypcore/log.h>
|
||||
|
||||
#include "rtp.h"
|
||||
|
|
@ -124,7 +126,7 @@ int pa_rtp_send(pa_rtp_context *c, size_t size, pa_memblockq *q) {
|
|||
|
||||
if (k < 0) {
|
||||
if (errno != EAGAIN) /* If the queue is full, just ignore it */
|
||||
pa_log(__FILE__": sendmsg() failed: %s", strerror(errno));
|
||||
pa_log(__FILE__": sendmsg() failed: %s", pa_cstrerror(errno));
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
@ -162,7 +164,7 @@ int pa_rtp_recv(pa_rtp_context *c, pa_memchunk *chunk, pa_memblock_stat *st) {
|
|||
chunk->memblock = NULL;
|
||||
|
||||
if (ioctl(c->fd, FIONREAD, &size) < 0) {
|
||||
pa_log(__FILE__": FIONREAD failed: %s", strerror(errno));
|
||||
pa_log(__FILE__": FIONREAD failed: %s", pa_cstrerror(errno));
|
||||
goto fail;
|
||||
}
|
||||
|
||||
|
|
@ -183,7 +185,7 @@ int pa_rtp_recv(pa_rtp_context *c, pa_memchunk *chunk, pa_memblock_stat *st) {
|
|||
m.msg_flags = 0;
|
||||
|
||||
if ((r = recvmsg(c->fd, &m, 0)) != size) {
|
||||
pa_log(__FILE__": recvmsg() failed: %s", r < 0 ? strerror(errno) : "size mismatch");
|
||||
pa_log(__FILE__": recvmsg() failed: %s", r < 0 ? pa_cstrerror(errno) : "size mismatch");
|
||||
goto fail;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@
|
|||
#include <sys/filio.h>
|
||||
#endif
|
||||
|
||||
#include <polyp/error.h>
|
||||
#include <polyp/xmalloc.h>
|
||||
|
||||
#include <polypcore/core-util.h>
|
||||
|
|
@ -77,7 +78,7 @@ int pa_sap_send(pa_sap_context *c, int goodbye) {
|
|||
int k;
|
||||
|
||||
if (getsockname(c->fd, sa, &salen) < 0) {
|
||||
pa_log("getsockname() failed: %s\n", strerror(errno));
|
||||
pa_log("getsockname() failed: %s\n", pa_cstrerror(errno));
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
|
@ -109,7 +110,7 @@ int pa_sap_send(pa_sap_context *c, int goodbye) {
|
|||
m.msg_flags = 0;
|
||||
|
||||
if ((k = sendmsg(c->fd, &m, MSG_DONTWAIT)) < 0)
|
||||
pa_log("sendmsg() failed: %s\n", strerror(errno));
|
||||
pa_log("sendmsg() failed: %s\n", pa_cstrerror(errno));
|
||||
|
||||
return k;
|
||||
}
|
||||
|
|
@ -136,7 +137,7 @@ int pa_sap_recv(pa_sap_context *c, int *goodbye) {
|
|||
assert(goodbye);
|
||||
|
||||
if (ioctl(c->fd, FIONREAD, &size) < 0) {
|
||||
pa_log(__FILE__": FIONREAD failed: %s", strerror(errno));
|
||||
pa_log(__FILE__": FIONREAD failed: %s", pa_cstrerror(errno));
|
||||
goto fail;
|
||||
}
|
||||
|
||||
|
|
@ -158,7 +159,7 @@ int pa_sap_recv(pa_sap_context *c, int *goodbye) {
|
|||
m.msg_flags = 0;
|
||||
|
||||
if ((r = recvmsg(c->fd, &m, 0)) != size) {
|
||||
pa_log(__FILE__": recvmsg() failed: %s", r < 0 ? strerror(errno) : "size mismatch");
|
||||
pa_log(__FILE__": recvmsg() failed: %s", r < 0 ? pa_cstrerror(errno) : "size mismatch");
|
||||
goto fail;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue