always-multi: always use non-blocking internals

Remove internal separated behavior of the easy vs multi intercace.
curl_easy_perform() is now using the multi interface itself.

Several minor multi interface quirks and bugs have been fixed in the
process.

Much help with debugging this has been provided by: Yang Tse
This commit is contained in:
Daniel Stenberg
2013-01-17 12:59:23 +01:00
parent 9fd88abb70
commit c43127414d
54 changed files with 490 additions and 884 deletions

View File

@@ -36,6 +36,11 @@ FTP PORT download, no data conn and no transient negative reply
<strippart>
s/^EPRT \|1\|(.*)/EPRT \|1\|/
</strippart>
# This test doesn't send a QUIT because the main state machine in multi.c
# triggers the timeout and sets the CURLE_OPERATION_TIMEDOUT error (28) for
# which the FTP disconect code generically has to assume could mean the
# control the connection and thus it cannot send any command.
<protocol>
USER anonymous
PASS ftp@example.com
@@ -44,10 +49,9 @@ EPRT |1|
TYPE I
SIZE 1208
RETR 1208
QUIT
</protocol>
<errorcode>
12
28
</errorcode>
</verify>
</testcase>