Ecore, Ecore_con, Ecore_file: merge upstream r64851
authorTae-Hwan Kim <the81.kim@samsung.com>
Mon, 7 Nov 2011 05:04:24 +0000 (14:04 +0900)
committerTae-Hwan Kim <the81.kim@samsung.com>
Mon, 7 Nov 2011 05:04:24 +0000 (14:04 +0900)
src/lib/ecore/ecore_main.c
src/lib/ecore_con/ecore_con_url.c
src/lib/ecore_file/ecore_file_download.c

index 235191e..9ae043d 100644 (file)
@@ -998,6 +998,7 @@ ecore_main_fd_handler_add(int                    fd,
         int err = errno;
         ERR("Failed to add poll on fd %d (errno = %d: %s)!", fd, err, strerror(err));
         free(fdh);
+        fdh = NULL;
         goto unlock;
      }
    fdh->read_active = EINA_FALSE;
index ba090d0..56c2f0b 100644 (file)
@@ -277,7 +277,6 @@ ecore_con_url_new(const char *url)
     * FIXME: Check that these timeouts are sensible defaults
     * FIXME: Provide a means to change these timeouts
     */
-   curl_easy_setopt(url_con->curl_easy, CURLOPT_MAXCONNECTS, 100);
    curl_easy_setopt(url_con->curl_easy, CURLOPT_FORBID_REUSE, 1);
    curl_easy_setopt(url_con->curl_easy, CURLOPT_CONNECTTIMEOUT, 30);
    curl_easy_setopt(url_con->curl_easy, CURLOPT_FOLLOWLOCATION, 1);
@@ -1371,7 +1370,7 @@ _ecore_con_url_perform(Ecore_Con_Url *url_con)
    url_con->active = EINA_TRUE;
    curl_multi_add_handle(_curlm, url_con->curl_easy);
    curl_multi_perform(_curlm, &still_running);
-   
+
    completed_immediately = _ecore_con_url_process_completed_jobs(url_con);
 
    if (!completed_immediately)
index 8811532..bed6f8d 100644 (file)
@@ -369,7 +369,15 @@ _ecore_file_download_curl(const char *url, const char *dst,
    job->progress_cb = progress_cb;
    _job_list = eina_list_append(_job_list, job);
 
-   ecore_con_url_get(job->url_con);
+   if (!ecore_con_url_get(job->url_con))
+     {
+        ecore_con_url_free(job->url_con);
+        _job_list = eina_list_remove(_job_list, job);
+        fclose(job->file);
+        free(job->dst);
+        free(job);
+        return NULL;
+     }
 
    return job;
 }