mirror of
https://github.com/sheumann/hush.git
synced 2024-12-27 16:31:24 +00:00
httpd: tiny optimization
This commit is contained in:
parent
1cbfd98ded
commit
2ca84f6064
@ -1059,6 +1059,7 @@ static int get_line(void)
|
||||
int count = 0;
|
||||
char c;
|
||||
|
||||
alarm(HEADER_READ_TIMEOUT);
|
||||
while (1) {
|
||||
if (hdr_cnt <= 0) {
|
||||
hdr_cnt = safe_read(STDIN_FILENO, hdr_buf, sizeof(hdr_buf));
|
||||
@ -1073,7 +1074,7 @@ static int get_line(void)
|
||||
continue;
|
||||
if (c == '\n') {
|
||||
iobuf[count] = '\0';
|
||||
return count;
|
||||
break;
|
||||
}
|
||||
if (count < (IOBUF_SIZE - 1)) /* check overflow */
|
||||
count++;
|
||||
@ -1739,8 +1740,8 @@ static Htaccess_Proxy *find_proxy_entry(const char *url)
|
||||
/*
|
||||
* Handle timeouts
|
||||
*/
|
||||
static void exit_on_signal(int sig) NORETURN;
|
||||
static void exit_on_signal(int sig UNUSED_PARAM)
|
||||
static void send_REQUEST_TIMEOUT_and_exit(int sig) NORETURN;
|
||||
static void send_REQUEST_TIMEOUT_and_exit(int sig UNUSED_PARAM)
|
||||
{
|
||||
send_headers_and_exit(HTTP_REQUEST_TIMEOUT);
|
||||
}
|
||||
@ -1805,9 +1806,8 @@ static void handle_incoming_and_exit(const len_and_sockaddr *fromAddr)
|
||||
bb_error_msg("connected");
|
||||
}
|
||||
|
||||
/* Install timeout handler */
|
||||
signal_no_SA_RESTART_empty_mask(SIGALRM, exit_on_signal);
|
||||
alarm(HEADER_READ_TIMEOUT);
|
||||
/* Install timeout handler. get_line() needs it. */
|
||||
signal(SIGALRM, send_REQUEST_TIMEOUT_and_exit);
|
||||
|
||||
if (!get_line()) /* EOF or error or empty line */
|
||||
send_headers_and_exit(HTTP_BAD_REQUEST);
|
||||
@ -1934,7 +1934,6 @@ static void handle_incoming_and_exit(const len_and_sockaddr *fromAddr)
|
||||
|
||||
/* Read until blank line for HTTP version specified, else parse immediate */
|
||||
while (1) {
|
||||
alarm(HEADER_READ_TIMEOUT);
|
||||
if (!get_line())
|
||||
break; /* EOF or error or empty line */
|
||||
if (DEBUG)
|
||||
|
Loading…
Reference in New Issue
Block a user