- httpd in inetd mode: POST from IE (6) ends up in 'cannot display page'

Closes #827
This commit is contained in:
Bernhard Reutner-Fischer
2006-04-11 13:51:50 +00:00
parent cc295fb261
commit e7f8a32929

View File

@@ -1602,11 +1602,9 @@ static void handleIncoming(void)
char *cookie = 0; char *cookie = 0;
char *content_type = 0; char *content_type = 0;
#endif #endif
#ifndef CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY
fd_set s_fd; fd_set s_fd;
struct timeval tv; struct timeval tv;
int retval; int retval;
#endif
struct sigaction sa; struct sigaction sa;
#ifdef CONFIG_FEATURE_HTTPD_BASIC_AUTH #ifdef CONFIG_FEATURE_HTTPD_BASIC_AUTH
@@ -1852,19 +1850,21 @@ FORBIDDEN: /* protect listing /cgi-bin */
free(config->remoteuser); free(config->remoteuser);
#endif #endif
# endif # endif
#endif /* CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY */
shutdown(a_c_w, SHUT_WR); shutdown(a_c_w, SHUT_WR);
/* Properly wait for remote to closed */ /* Properly wait for remote to closed */
FD_ZERO (&s_fd) ; FD_ZERO (&s_fd) ;
FD_SET (a_c_w, &s_fd) ; FD_SET (a_c_r, &s_fd) ;
do { do {
tv.tv_sec = 2 ; tv.tv_sec = 2 ;
tv.tv_usec = 0 ; tv.tv_usec = 0 ;
retval = select (a_c_w + 1, &s_fd, NULL, NULL, &tv); retval = select (a_c_r + 1, &s_fd, NULL, NULL, &tv);
} while (retval > 0 && (read (a_c_w, buf, sizeof (config->buf)) > 0)); } while (retval > 0 && (read (a_c_r, buf, sizeof (config->buf)) > 0));
shutdown(a_c_r, SHUT_RD); shutdown(a_c_r, SHUT_RD);
#ifndef CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY
close(config->accepted_socket); close(config->accepted_socket);
#endif /* CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY */ #endif /* CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY */
} }