mirror of
https://github.com/Sude-/lgogdownloader.git
synced 2025-02-02 05:52:31 +01:00
Sude
4c480465b3
Fix skipped file downloads due to race condition
If multiple threads detected that directory didn't exist at the same time and tried to create it then one thread would succeed in creating it first and other threads would be trying to create a directory that already exists. boost::filesystem::create_directories() would then return false for those threads and skip the file download. Having additional check to see if the directory exists after boost::filesystem::create_directories() returns false fixes the problem.
GOG Downloader
This repository contains the code of unofficial GOG downloader.
Dependencies
- libcurl >= 7.32.0
- liboauth
- librhash
- jsoncpp
- htmlcxx
- tinyxml2
- boost (regex, date-time, system, filesystem, program-options)
- libcrypto if libcurl is built with OpenSSL
Make dependencies
Debian/Ubuntu
# apt install build-essential libcurl4-openssl-dev libboost-regex-dev \
libjsoncpp-dev liboauth-dev librhash-dev libtinyxml2-dev libhtmlcxx-dev \
libboost-system-dev libboost-filesystem-dev libboost-program-options-dev \
libboost-date-time-dev help2man cmake libssl-dev pkg-config
Build and install
$ mkdir build
$ cd build
$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release
$ make
# sudo make install
Use
man lgogdownloader
Links
Description
LGOGDownloader is unofficial downloader to GOG.com for Linux users. It uses the same API as the official GOG Galaxy.
Languages
C++
98.4%
CMake
1.6%