Loading CHANGES +9 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,15 @@ Changelog Daniel (8 November 2004) - Ian Gulliver reported in debian bug report #278691: if curl is invoked in an environment where stderr is closed the -v output will still be sent to file descriptor 2 which then might be the network socket handle! Now we have a weird hack instead that attempts to make sure that file descriptor 2 is opened (with a call to pipe()) before libcurl is called to do the transfer. configure now checks for pipe() and systems without pipe don't get the weird hack done. Daniel (5 November 2004) - Tim Sneddon made libcurl send no more than 64K in a single first chunk when doing a huge POST on VMS, as this is a system limitation. Default on general Loading configure.ac +1 −0 Original line number Diff line number Diff line Loading @@ -1227,6 +1227,7 @@ AC_CHECK_FUNCS( strtoll \ basename \ setlocale \ ftruncate \ pipe \ poll, dnl if found [], Loading src/config.h.in +6 −0 Original line number Diff line number Diff line Loading @@ -109,3 +109,9 @@ /* Define to 1 if you have the `gettimeofday' function. */ #undef HAVE_GETTIMEOFDAY /* Define to 1 if you have the `ftruncate' function. */ #undef HAVE_FTRUNCATE /* Define to 1 if you have the `pipe' function. */ #undef HAVE_PIPE src/main.c +23 −0 Original line number Diff line number Diff line Loading @@ -3771,12 +3771,35 @@ operate(struct Configurable *config, int argc, char *argv[]) return res; } static void checkfds(void); static void checkfds(void) { #ifdef HAVE_PIPE int fd[2] = { STDIN_FILENO, STDIN_FILENO }; while( fd[0] == STDIN_FILENO || fd[0] == STDOUT_FILENO || fd[0] == STDERR_FILENO || fd[1] == STDIN_FILENO || fd[1] == STDOUT_FILENO || fd[1] == STDERR_FILENO ) pipe(fd); close(fd[0]); close(fd[1]); #endif } int main(int argc, char *argv[]) { int res; struct Configurable config; memset(&config, 0, sizeof(struct Configurable)); checkfds(); res = operate(&config, argc, argv); free_config_fields(&config); Loading Loading
CHANGES +9 −0 Original line number Diff line number Diff line Loading @@ -6,6 +6,15 @@ Changelog Daniel (8 November 2004) - Ian Gulliver reported in debian bug report #278691: if curl is invoked in an environment where stderr is closed the -v output will still be sent to file descriptor 2 which then might be the network socket handle! Now we have a weird hack instead that attempts to make sure that file descriptor 2 is opened (with a call to pipe()) before libcurl is called to do the transfer. configure now checks for pipe() and systems without pipe don't get the weird hack done. Daniel (5 November 2004) - Tim Sneddon made libcurl send no more than 64K in a single first chunk when doing a huge POST on VMS, as this is a system limitation. Default on general Loading
configure.ac +1 −0 Original line number Diff line number Diff line Loading @@ -1227,6 +1227,7 @@ AC_CHECK_FUNCS( strtoll \ basename \ setlocale \ ftruncate \ pipe \ poll, dnl if found [], Loading
src/config.h.in +6 −0 Original line number Diff line number Diff line Loading @@ -109,3 +109,9 @@ /* Define to 1 if you have the `gettimeofday' function. */ #undef HAVE_GETTIMEOFDAY /* Define to 1 if you have the `ftruncate' function. */ #undef HAVE_FTRUNCATE /* Define to 1 if you have the `pipe' function. */ #undef HAVE_PIPE
src/main.c +23 −0 Original line number Diff line number Diff line Loading @@ -3771,12 +3771,35 @@ operate(struct Configurable *config, int argc, char *argv[]) return res; } static void checkfds(void); static void checkfds(void) { #ifdef HAVE_PIPE int fd[2] = { STDIN_FILENO, STDIN_FILENO }; while( fd[0] == STDIN_FILENO || fd[0] == STDOUT_FILENO || fd[0] == STDERR_FILENO || fd[1] == STDIN_FILENO || fd[1] == STDOUT_FILENO || fd[1] == STDERR_FILENO ) pipe(fd); close(fd[0]); close(fd[1]); #endif } int main(int argc, char *argv[]) { int res; struct Configurable config; memset(&config, 0, sizeof(struct Configurable)); checkfds(); res = operate(&config, argc, argv); free_config_fields(&config); Loading