[Ffmpeg-cvslog] r8845 - in trunk: ffserver.c libavformat/network.h libavformat/rtpproto.c libavformat/tcp.c libavformat/udp.c
alex
subversion
Fri Apr 27 02:35:55 CEST 2007
Author: alex
Date: Fri Apr 27 02:35:54 2007
New Revision: 8845
Log:
use ff_neterrno() and FF_NETERROR() for networking error handling
Modified:
trunk/ffserver.c
trunk/libavformat/network.h
trunk/libavformat/rtpproto.c
trunk/libavformat/tcp.c
trunk/libavformat/udp.c
Modified: trunk/ffserver.c
==============================================================================
--- trunk/ffserver.c (original)
+++ trunk/ffserver.c Fri Apr 27 02:35:54 2007
@@ -588,7 +588,8 @@ static int http_server(void)
second to handle timeouts */
do {
ret = poll(poll_table, poll_entry - poll_table, delay);
- if (ret < 0 && errno != EAGAIN && errno != EINTR)
+ if (ret < 0 && ff_neterrno() != FF_NETERROR(EAGAIN) &&
+ ff_neterrno() != FF_NETERROR(EINTR))
return -1;
} while (ret < 0);
@@ -791,7 +792,8 @@ static int handle_connection(HTTPContext
read_loop:
len = recv(c->fd, c->buffer_ptr, 1, 0);
if (len < 0) {
- if (errno != EAGAIN && errno != EINTR)
+ if (ff_neterrno() != FF_NETERROR(EAGAIN) &&
+ ff_neterrno() != FF_NETERROR(EINTR))
return -1;
} else if (len == 0) {
return -1;
@@ -826,7 +828,8 @@ static int handle_connection(HTTPContext
return 0;
len = send(c->fd, c->buffer_ptr, c->buffer_end - c->buffer_ptr, 0);
if (len < 0) {
- if (errno != EAGAIN && errno != EINTR) {
+ if (ff_neterrno() != FF_NETERROR(EAGAIN) &&
+ ff_neterrno() != FF_NETERROR(EINTR)) {
/* error : close connection */
av_freep(&c->pb_buffer);
return -1;
@@ -896,7 +899,8 @@ static int handle_connection(HTTPContext
return 0;
len = send(c->fd, c->buffer_ptr, c->buffer_end - c->buffer_ptr, 0);
if (len < 0) {
- if (errno != EAGAIN && errno != EINTR) {
+ if (ff_neterrno() != FF_NETERROR(EAGAIN) &&
+ ff_neterrno() != FF_NETERROR(EINTR)) {
/* error : close connection */
av_freep(&c->pb_buffer);
return -1;
@@ -922,7 +926,8 @@ static int handle_connection(HTTPContext
len = send(c->fd, c->packet_buffer_ptr,
c->packet_buffer_end - c->packet_buffer_ptr, 0);
if (len < 0) {
- if (errno != EAGAIN && errno != EINTR) {
+ if (ff_neterrno() != FF_NETERROR(EAGAIN) &&
+ ff_neterrno() != FF_NETERROR(EINTR)) {
/* error : close connection */
av_freep(&c->packet_buffer);
return -1;
@@ -2333,7 +2338,8 @@ static int http_send_data(HTTPContext *c
/* TCP data output */
len = send(c->fd, c->buffer_ptr, c->buffer_end - c->buffer_ptr, 0);
if (len < 0) {
- if (errno != EAGAIN && errno != EINTR) {
+ if (ff_neterrno() != FF_NETERROR(EAGAIN) &&
+ ff_neterrno() != FF_NETERROR(EINTR)) {
/* error : close connection */
return -1;
} else {
@@ -2390,7 +2396,8 @@ static int http_receive_data(HTTPContext
len = recv(c->fd, c->buffer_ptr, c->buffer_end - c->buffer_ptr, 0);
if (len < 0) {
- if (errno != EAGAIN && errno != EINTR) {
+ if (ff_neterrno() != FF_NETERROR(EAGAIN) &&
+ ff_neterrno() != FF_NETERROR(EINTR)) {
/* error : close connection */
goto fail;
}
Modified: trunk/libavformat/network.h
==============================================================================
--- trunk/libavformat/network.h (original)
+++ trunk/libavformat/network.h Fri Apr 27 02:35:54 2007
@@ -29,6 +29,9 @@
#endif
#include <netdb.h>
+#define ff_neterrno() errno
+#define FF_NETERROR(err) err
+
#if !defined(HAVE_INET_ATON)
/* in os_support.c */
int inet_aton (const char * str, struct in_addr * add);
Modified: trunk/libavformat/rtpproto.c
==============================================================================
--- trunk/libavformat/rtpproto.c (original)
+++ trunk/libavformat/rtpproto.c Fri Apr 27 02:35:54 2007
@@ -178,7 +178,8 @@ static int rtp_read(URLContext *h, uint8
len = recvfrom (s->rtp_fd, buf, size, 0,
(struct sockaddr *)&from, &from_len);
if (len < 0) {
- if (errno == EAGAIN || errno == EINTR)
+ if (ff_neterrno() == FF_NETERROR(EAGAIN) ||
+ ff_neterrno() == FF_NETERROR(EINTR))
continue;
return AVERROR_IO;
}
@@ -201,7 +202,8 @@ static int rtp_read(URLContext *h, uint8
len = recvfrom (s->rtcp_fd, buf, size, 0,
(struct sockaddr *)&from, &from_len);
if (len < 0) {
- if (errno == EAGAIN || errno == EINTR)
+ if (ff_neterrno() == FF_NETERROR(EAGAIN) ||
+ ff_neterrno() == FF_NETERROR(EINTR))
continue;
return AVERROR_IO;
}
@@ -213,7 +215,8 @@ static int rtp_read(URLContext *h, uint8
len = recvfrom (s->rtp_fd, buf, size, 0,
(struct sockaddr *)&from, &from_len);
if (len < 0) {
- if (errno == EAGAIN || errno == EINTR)
+ if (ff_neterrno() == FF_NETERROR(EAGAIN) ||
+ ff_neterrno() == FF_NETERROR(EINTR))
continue;
return AVERROR_IO;
}
Modified: trunk/libavformat/tcp.c
==============================================================================
--- trunk/libavformat/tcp.c (original)
+++ trunk/libavformat/tcp.c Fri Apr 27 02:35:54 2007
@@ -68,9 +68,9 @@ static int tcp_open(URLContext *h, const
ret = connect(fd, (struct sockaddr *)&dest_addr,
sizeof(dest_addr));
if (ret < 0) {
- if (errno == EINTR)
+ if (ff_neterrno() == FF_NETERROR(EINTR))
goto redo;
- if (errno != EINPROGRESS)
+ if (ff_neterrno() != FF_NETERROR(EINPROGRESS))
goto fail;
/* wait until we are connected or until abort */
@@ -126,7 +126,8 @@ static int tcp_read(URLContext *h, uint8
if (ret > 0 && FD_ISSET(s->fd, &rfds)) {
len = recv(s->fd, buf, size, 0);
if (len < 0) {
- if (errno != EINTR && errno != EAGAIN)
+ if (ff_neterrno() != FF_NETERROR(EINTR) &&
+ ff_neterrno() != FF_NETERROR(EAGAIN))
return AVERROR(errno);
} else return len;
} else if (ret < 0) {
@@ -155,7 +156,8 @@ static int tcp_write(URLContext *h, uint
if (ret > 0 && FD_ISSET(s->fd, &wfds)) {
len = send(s->fd, buf, size, 0);
if (len < 0) {
- if (errno != EINTR && errno != EAGAIN)
+ if (ff_neterrno() != FF_NETERROR(EINTR) &&
+ ff_neterrno() != FF_NETERROR(EAGAIN))
return AVERROR(errno);
continue;
}
Modified: trunk/libavformat/udp.c
==============================================================================
--- trunk/libavformat/udp.c (original)
+++ trunk/libavformat/udp.c Fri Apr 27 02:35:54 2007
@@ -428,7 +428,8 @@ static int udp_read(URLContext *h, uint8
len = recvfrom (s->udp_fd, buf, size, 0,
(struct sockaddr *)&from, &from_len);
if (len < 0) {
- if (errno != EAGAIN && errno != EINTR)
+ if (ff_neterrno() != FF_NETERROR(EAGAIN) &&
+ ff_neterrno() != FF_NETERROR(EINTR))
return AVERROR_IO;
} else {
break;
@@ -451,7 +452,8 @@ static int udp_write(URLContext *h, uint
s->dest_addr_len);
#endif
if (ret < 0) {
- if (errno != EINTR && errno != EAGAIN)
+ if (ff_neterrno() != FF_NETERROR(EINTR) &&
+ ff_neterrno() != FF_NETERROR(EAGAIN))
return AVERROR_IO;
} else {
break;
More information about the ffmpeg-cvslog
mailing list