mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-23 06:59:53 -05:00
win32: Misc Unix socket fixes
* Make pa_parse_address recognize Unix socket addresses with Windows-style absolute paths. * Treat WASEINVAL as a stale socket. * Make HAVE_AF_UNIX in config templates recognize winsock2.h. Part-of: <https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/merge_requests/546>
This commit is contained in:
parent
a01cce726f
commit
6222f610e8
3 changed files with 7 additions and 2 deletions
|
|
@ -100,7 +100,7 @@ default_conf = configuration_data()
|
||||||
default_conf.merge_from(cdata)
|
default_conf.merge_from(cdata)
|
||||||
default_conf.set('PA_BINARY', cdata.get_unquoted('PA_BINARY'))
|
default_conf.set('PA_BINARY', cdata.get_unquoted('PA_BINARY'))
|
||||||
default_conf.set('PA_SOEXT', cdata.get_unquoted('PA_SOEXT'))
|
default_conf.set('PA_SOEXT', cdata.get_unquoted('PA_SOEXT'))
|
||||||
default_conf.set10('HAVE_AF_UNIX', cc.has_header('sys/un.h'))
|
default_conf.set10('HAVE_AF_UNIX', cc.has_header('sys/un.h') ? true : cc.has_header('winsock2.h'))
|
||||||
default_conf.set10('OS_IS_WIN32', host_machine.system() == 'windows')
|
default_conf.set10('OS_IS_WIN32', host_machine.system() == 'windows')
|
||||||
default_conf.set10('HAVE_MKFIFO', cc.has_function('mkfifo'))
|
default_conf.set10('HAVE_MKFIFO', cc.has_function('mkfifo'))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -105,8 +105,13 @@ int pa_parse_address(const char *name, pa_parsed_address *ret_p) {
|
||||||
} else
|
} else
|
||||||
p = name;
|
p = name;
|
||||||
|
|
||||||
|
#ifndef OS_IS_WIN32
|
||||||
if (*p == '/')
|
if (*p == '/')
|
||||||
ret_p->type = PA_PARSED_ADDRESS_UNIX;
|
ret_p->type = PA_PARSED_ADDRESS_UNIX;
|
||||||
|
#else
|
||||||
|
if (strlen(p) >= 3 && p[1] == ':' && p[2] == '\\' && ((p[0] >= 'A' && p[0] <= 'Z') || (p[0] >= 'a' && p[0] <= 'z')))
|
||||||
|
ret_p->type = PA_PARSED_ADDRESS_UNIX;
|
||||||
|
#endif
|
||||||
else if (pa_startswith(p, "unix:")) {
|
else if (pa_startswith(p, "unix:")) {
|
||||||
ret_p->type = PA_PARSED_ADDRESS_UNIX;
|
ret_p->type = PA_PARSED_ADDRESS_UNIX;
|
||||||
p += sizeof("unix:")-1;
|
p += sizeof("unix:")-1;
|
||||||
|
|
|
||||||
|
|
@ -243,7 +243,7 @@ int pa_unix_socket_is_stale(const char *fn) {
|
||||||
if (errno == ECONNREFUSED)
|
if (errno == ECONNREFUSED)
|
||||||
ret = 1;
|
ret = 1;
|
||||||
#else
|
#else
|
||||||
if (WSAGetLastError() == WSAECONNREFUSED)
|
if (WSAGetLastError() == WSAECONNREFUSED || WSAGetLastError() == WSAEINVAL)
|
||||||
ret = 1;
|
ret = 1;
|
||||||
#endif
|
#endif
|
||||||
} else
|
} else
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue