curl_multi_cleanup: ignore SIGPIPE better
When looping and closing each individual connection left open, the SIGPIPE ignoring was not done and could thus lead to death by signal 13. Bug: http://thread.gmane.org/gmane.comp.version-control.git/238242
This commit is contained in:
Родитель
1f93471bda
Коммит
37f484276d
|
@ -1806,10 +1806,13 @@ static void close_all_connections(struct Curl_multi *multi)
|
|||
|
||||
conn = Curl_conncache_find_first_connection(multi->conn_cache);
|
||||
while(conn) {
|
||||
SIGPIPE_VARIABLE(pipe_st);
|
||||
conn->data = multi->closure_handle;
|
||||
|
||||
sigpipe_ignore(conn->data, &pipe_st);
|
||||
/* This will remove the connection from the cache */
|
||||
(void)Curl_disconnect(conn, FALSE);
|
||||
sigpipe_restore(&pipe_st);
|
||||
|
||||
conn = Curl_conncache_find_first_connection(multi->conn_cache);
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче