On 11/11/2011 03:09 AM, Bluezery wrote: > Dear all, > > I have modified the way curl used in ecore_con_url.c > > 1) A file descriptor of libcurl is not matched to any easy handles. > We can get a file descriptor from curl_multi_fdset(), we do not > guarantee that it is a socket of easy handle just performed. > If libcurl multi handle uses pipeline, the number of file descriptors > is just 1 or 2 even though the number of easy handles is numerous. > So, I removed the fd, fd_handler, flags from _Ecore_Con_Url structure. > > 2) There are no routines when return value is CURLM_CALL_MULTI_PERFORM > or still_running is above 1. > When return value is CURLM_CALL_MULTI_PERFORM, we just do > curl_multi_perform() again. (do not curl_multi_fdset() or > curl_multi_info_read() ) > In addition, there are case that curl_multi_perform() returns CURLM_OK > but we cannot get fd and read any information. (e.g., libcurl > threaded resolver enabled) > In such a case, current _ecore_con_url_perform() returns > EINA_FALSE~~!!!. This is a problem. > So, I added routines for each case. > > > 3) Error control should be added. > It is not controlled when curl_multi_perform() returns error. > > Please review a attached patch.
You should read waht EINA_LIST_FREE does, and clean up list free'ing. Else the patch seems good. S. ------------------------------------------------------------------------------ RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1 _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel