ffserver: factor out connection closing from handler
Signed-off-by: Reynaldo H. Verdejo Pinochet <r.verdejo@sisa.samsung.com>
This commit is contained in:
parent
5df2a502f2
commit
ba6186d6eb
18
ffserver.c
18
ffserver.c
@ -1003,9 +1003,7 @@ static int handle_connection(HTTPContext *c)
|
||||
if (len < 0) {
|
||||
if (ff_neterrno() != AVERROR(EAGAIN) &&
|
||||
ff_neterrno() != AVERROR(EINTR)) {
|
||||
/* error : close connection */
|
||||
av_freep(&c->pb_buffer);
|
||||
return -1;
|
||||
goto close_connection;
|
||||
}
|
||||
} else {
|
||||
c->buffer_ptr += len;
|
||||
@ -1063,10 +1061,8 @@ static int handle_connection(HTTPContext *c)
|
||||
break;
|
||||
|
||||
case RTSPSTATE_SEND_REPLY:
|
||||
if (c->poll_entry->revents & (POLLERR | POLLHUP)) {
|
||||
av_freep(&c->pb_buffer);
|
||||
return -1;
|
||||
}
|
||||
if (c->poll_entry->revents & (POLLERR | POLLHUP))
|
||||
goto close_connection;
|
||||
/* no need to write if no events */
|
||||
if (!(c->poll_entry->revents & POLLOUT))
|
||||
return 0;
|
||||
@ -1074,9 +1070,7 @@ static int handle_connection(HTTPContext *c)
|
||||
if (len < 0) {
|
||||
if (ff_neterrno() != AVERROR(EAGAIN) &&
|
||||
ff_neterrno() != AVERROR(EINTR)) {
|
||||
/* error : close connection */
|
||||
av_freep(&c->pb_buffer);
|
||||
return -1;
|
||||
goto close_connection;
|
||||
}
|
||||
} else {
|
||||
c->buffer_ptr += len;
|
||||
@ -1121,6 +1115,10 @@ static int handle_connection(HTTPContext *c)
|
||||
return -1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
close_connection:
|
||||
av_freep(&c->pb_buffer);
|
||||
return -1;
|
||||
}
|
||||
|
||||
static int extract_rates(char *rates, int ratelen, const char *request)
|
||||
|
Loading…
x
Reference in New Issue
Block a user