mirror of
https://github.com/moparisthebest/curl
synced 2024-11-11 12:05:06 -05:00
Don't lock up at start when there aren't any free file descriptors.
This commit is contained in:
parent
88377e5b61
commit
050e82e088
12
src/main.c
12
src/main.c
@ -4279,8 +4279,11 @@ quit_curl:
|
|||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void checkfds(void);
|
/* Ensure that file descriptors 0, 1 and 2 (stdin, stdout, stderr) are
|
||||||
|
open before starting to run. Otherwise, the first three network
|
||||||
|
sockets opened by curl could be used for input sources, downloaded data
|
||||||
|
or error logs as they will effectively be stdin, stdout and/or stderr.
|
||||||
|
*/
|
||||||
static void checkfds(void)
|
static void checkfds(void)
|
||||||
{
|
{
|
||||||
#ifdef HAVE_PIPE
|
#ifdef HAVE_PIPE
|
||||||
@ -4291,8 +4294,9 @@ static void checkfds(void)
|
|||||||
fd[1] == STDIN_FILENO ||
|
fd[1] == STDIN_FILENO ||
|
||||||
fd[1] == STDOUT_FILENO ||
|
fd[1] == STDOUT_FILENO ||
|
||||||
fd[1] == STDERR_FILENO )
|
fd[1] == STDERR_FILENO )
|
||||||
pipe(fd);
|
if (pipe(fd) < 0)
|
||||||
|
return; /* Out of handles. This isn't really a big problem now, but
|
||||||
|
will be when we try to create a socket later. */
|
||||||
close(fd[0]);
|
close(fd[0]);
|
||||||
close(fd[1]);
|
close(fd[1]);
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
Reference in New Issue
Block a user