In the "ecore_file_download_full" function of the "src/lib/ecore_file/ecore_file_download.c" file, if the destination file exists the function returns false.
In the "_download_job" function of the "src/lib/elementary/elm_map.c" file, if the destination file exists the function returns an error, but does not remove the file from the list.
Here are the two messages I have to infinity.
[24/10/2018 10:45:27] [Error] ecore_file:lib/ecore_file/ecore_file_download.c:214:ecore_file_download_full(): /home/ordissimo/.cache/elm_map/177078273/15/16595/11278.png already exists
[24/10/2018 10:45:27] [Error] elementary:lib/elementary/elm_map.c:815:_download_job(): Can't start to download from http://a.tile.openstreetmap.org/15/16595/11278.png to /home/ordissimo/.cache/elm_map/177078273/15/16595/11278.png
The file is in the cache, the ecore_file_download_full function should not return false but true. If the file does not match, it must be re-downloaded.
The ecore_file_download_full function must return an error code to indicate how the calling function should behave.