mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
Merge commit 'bb9378251a167ef0116f263912e57f715c1e02ac'
* commit 'bb9378251a167ef0116f263912e57f715c1e02ac': network: Use SOCK_CLOEXEC when available Merged-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
commit
2539767206
@ -259,4 +259,13 @@ int ff_listen_connect(int fd, const struct sockaddr *addr,
|
|||||||
|
|
||||||
int ff_http_match_no_proxy(const char *no_proxy, const char *hostname);
|
int ff_http_match_no_proxy(const char *no_proxy, const char *hostname);
|
||||||
|
|
||||||
|
#ifndef SOCK_CLOEXEC
|
||||||
|
#define SOCK_CLOEXEC 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static inline int ff_socket(int domain, int type, int protocol)
|
||||||
|
{
|
||||||
|
return socket(domain, type | SOCK_CLOEXEC, protocol);
|
||||||
|
}
|
||||||
|
|
||||||
#endif /* AVFORMAT_NETWORK_H */
|
#endif /* AVFORMAT_NETWORK_H */
|
||||||
|
@ -198,7 +198,7 @@ static int sctp_open(URLContext *h, const char *uri, int flags)
|
|||||||
|
|
||||||
cur_ai = ai;
|
cur_ai = ai;
|
||||||
|
|
||||||
fd = socket(cur_ai->ai_family, SOCK_STREAM, IPPROTO_SCTP);
|
fd = ff_socket(cur_ai->ai_family, SOCK_STREAM, IPPROTO_SCTP);
|
||||||
if (fd < 0)
|
if (fd < 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
|
|
||||||
|
@ -111,7 +111,9 @@ static int tcp_open(URLContext *h, const char *uri, int flags)
|
|||||||
cur_ai = ai;
|
cur_ai = ai;
|
||||||
|
|
||||||
restart:
|
restart:
|
||||||
fd = socket(cur_ai->ai_family, cur_ai->ai_socktype, cur_ai->ai_protocol);
|
fd = ff_socket(cur_ai->ai_family,
|
||||||
|
cur_ai->ai_socktype,
|
||||||
|
cur_ai->ai_protocol);
|
||||||
if (fd < 0) {
|
if (fd < 0) {
|
||||||
ret = ff_neterrno();
|
ret = ff_neterrno();
|
||||||
goto fail;
|
goto fail;
|
||||||
|
@ -326,7 +326,7 @@ static int udp_socket_create(UDPContext *s, struct sockaddr_storage *addr,
|
|||||||
if (res0 == 0)
|
if (res0 == 0)
|
||||||
goto fail;
|
goto fail;
|
||||||
for (res = res0; res; res=res->ai_next) {
|
for (res = res0; res; res=res->ai_next) {
|
||||||
udp_fd = socket(res->ai_family, SOCK_DGRAM, 0);
|
udp_fd = ff_socket(res->ai_family, SOCK_DGRAM, 0);
|
||||||
if (udp_fd != -1) break;
|
if (udp_fd != -1) break;
|
||||||
log_net_error(NULL, AV_LOG_ERROR, "socket");
|
log_net_error(NULL, AV_LOG_ERROR, "socket");
|
||||||
}
|
}
|
||||||
|
@ -71,7 +71,7 @@ static int unix_open(URLContext *h, const char *filename, int flags)
|
|||||||
s->addr.sun_family = AF_UNIX;
|
s->addr.sun_family = AF_UNIX;
|
||||||
av_strlcpy(s->addr.sun_path, filename, sizeof(s->addr.sun_path));
|
av_strlcpy(s->addr.sun_path, filename, sizeof(s->addr.sun_path));
|
||||||
|
|
||||||
if ((fd = socket(AF_UNIX, s->type, 0)) < 0)
|
if ((fd = ff_socket(AF_UNIX, s->type, 0)) < 0)
|
||||||
return ff_neterrno();
|
return ff_neterrno();
|
||||||
|
|
||||||
if (s->listen) {
|
if (s->listen) {
|
||||||
|
Loading…
Reference in New Issue
Block a user