Summary:
last_ms is not needed at all. If curl_multi_timeout returns non zero, then its error, if it returns zero, then its fine. If ms is zero, then call curl_multi_perform immediately.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Subscribers: cedric
Maniphest Tasks: T2200
Differential Revision: https://phab.enlightenment.org/D2294
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
Summary:
While creating a Ecore_con_url object, the url is given in this format "ftp://ftp.example.com". While uploading a file, this function was prefixing "ftp://" to this url which resulted in DNS failure, and upload fail. So corrected the issue.
Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>
Reviewers: cedric
Reviewed By: cedric
Subscribers: cedric
Differential Revision: https://phab.enlightenment.org/D2221
Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
curl is dumb. it needs to poll its own fd for data, it gets confused with its own timeouts, and sometimes it forgets that it's supposed to be doing anything.
this fixes:
* connection timeout processing
* connection data processing order
also curl_multi_timeout calls are now done from a single function to handle all of this stupidness in one place
maybe backport after more testing...
this makes curl support a pure runtime-only thing. libcurl is loaded by
eina_module (dlopen/dlsym) when curl is actually first needed (when a
url connection/object is created). this means that ecore-con has no
link or compile dependencies on curl, only runtime, AND this saves
memory (due to curl inits using apparently a chunk of private pages).
so this saves memory and moves the dependency to runtime (though still
consider libcurl a dependency of efl - but like a binary executed,
it's at runtime).