Andrey Prygunkov
a5f2c1c7c5
#597 : 49e8fea0e2: use std::thread instead of platform implementation
2019-01-07 19:02:18 +01:00
Andrey Prygunkov
c2b93c588b
#597 : use std::mutex and std::condition_variable on all platforms
...
wrapped them in custom classes for easier replacements, just in case.
2019-01-07 18:52:19 +01:00
Andrey Prygunkov
3934244a70
#597 : use std::mutex and std::condition_variable on Windows
...
That’s the easiest way to get compatibility with Windows XP yet better
performance on Windows Vista and above.
2019-01-06 21:42:41 +01:00
Andrey Prygunkov
62ba9a5609
#597 : implemented condition variable class for Windows
...
works on Windows Vista and newer.
2019-01-06 15:50:59 +01:00
Andrey Prygunkov
e824c5b940
#597 : implemented OS-specific condition variable class
...
Currently for POSIX only; Windows implementation follows.
2019-01-06 13:08:09 +01:00
Andrey Prygunkov
32a6bf18ad
#597 : reverted changes to Thread-unit
...
Due to compatibility issues on older platforms (issues discovered on
ARMv7 with GCC 5.2 but may not be limited to this platform) the usage
of C++11 thread- and synchronisation facilities has been reverted to
previous custom OS-specific implementation.
2019-01-06 12:50:28 +01:00
Andrey Prygunkov
0602e9d2f1
#593 : use platform independent type
2019-01-03 15:54:02 +01:00
Federico Cuello
49e8fea0e2
Use std::thread instead of platform implementation
...
Simplify thread handling by using std::thread.
2019-01-03 12:27:28 +01:00
Federico Cuello
fa8f8855f9
Use std::atomic for Thread class members
...
Before only m_threadCount was protected by a mutex but not the rest of
the bools that are read/written from different threads. This replaces
them by atomic values removing the need for the mutex and protecting the
previously unprotected bools, except for m_autoDestroy that it's only
set before starting the thread.
2019-01-03 12:27:26 +01:00
Federico Cuello
fb3a27fde9
Replace m_threadMutex by static Mutex
...
Just use Mutex and remove the need to call Thread::Init()
2019-01-02 20:49:09 +01:00
Federico Cuello
b29131ffb8
Use std::mutex instead of custom class Mutex
...
Basically this is just removing the custom class and using a typedef to
keep the name. Most of the changes are just case for the lock/unlock
methods.
2019-01-02 20:46:48 +01:00
Andrey Prygunkov
1264878a97
#538 : added compatibility with Android Bionic C library
2018-06-13 21:03:34 +02:00
Andrey Prygunkov
a4cca673dc
fixed #398 : crash between post-processing steps
2017-06-16 17:51:28 +02:00
Andrey Prygunkov
5948729b87
#185 : guarded containers
...
Using guarded lists to automatically unlock containers.
2016-03-18 21:45:29 +01:00
Andrey Prygunkov
f973388879
#185 : use guards with private mutexes
...
Use guard objects to automatically unlock private mutexes when leaving
current scope.
2016-03-16 22:37:19 +01:00
Andrey Prygunkov
f3f7fbd0de
#176 : updated copyright notice in source files
...
- added link to http://nzbget.net ;
- replaced FSF Post address with a web link;
- removed unusable subversion-tags;
- updated year.
2016-03-01 19:45:07 +01:00
Andrey Prygunkov
bfa5027bf9
#175 : in-class member initializers
2016-02-28 19:53:37 +01:00
Andrey Prygunkov
e8afb4e331
#172 : use system objects directly
...
instead of dynamic creation, which were used to avoid system includes;
that’s become unimportant after using of precompiled headers.
2016-02-23 22:31:27 +01:00
Andrey Prygunkov
b9076fc21d
#168 : 9da07e1e54: adjusted finalization
...
of global objects
2016-02-19 19:08:00 +01:00
Andrey Prygunkov
9da07e1e54
#168 : unique smart pointers for global variables
...
and restructured main module “nzbget.cpp”
2016-02-17 22:03:33 +01:00
Andrey Prygunkov
40eb5c4e1e
#168 : unique smart pointers for static members
2016-02-17 22:03:32 +01:00
Andrey Prygunkov
04c3e0d263
#138 : use "nullptr" instead of "NULL"
2015-12-30 16:35:07 +01:00
Andrey Prygunkov
ec17d119a1
#115 : put all external headers together
...
into “nzbget.h”
2015-11-19 23:51:02 +01:00
Andrey Prygunkov
70ccfd9802
normalized whitespace formatting
...
1) removed trailing spaces and tabs;
2) replaced occasional leading spaces with tabs.
2015-11-05 23:45:19 +01:00
Andrey Prygunkov
5adb50274e
#103 : renamed local, member variables and function parameters
2015-10-27 22:37:23 +01:00
Andrey Prygunkov
c93c0e9dce
#41 : removed spinlocks support
2015-07-17 23:43:53 +02:00
Andrey Prygunkov
11bfb57809
added support for password list file; new option "UnpackPassFile" to set the location of the file; during unpack the passwords are tried from the file until unpack succeeds or all passwords were tried; implemented different strategies for rar4 and rar5-archives taking into account the features of formats; for rar5-archives a wrong password is reported by unrar unambiguously and the program can immediately try other passwords from the password list; for rar4-archives and for 7z-archives it is not possible to differentiate between damaged archive and wrong password; for those archives if the first unpack attempt (without password) fails the program executes par-check (preferably quick par-check if enabled via option "ParQuick) before trying the passwords from the list; another optimization is that the password list is tried only when the first unpack attempt (without password) reports a password error or decryption errors; this saves unnecessary unpack attempts for damaged unencrypted archives
2015-01-22 20:57:39 +00:00
Andrey Prygunkov
8168804f05
reorganized source code directory structure: created directory 'daemon' with several subdirectories and put all source code files there
2014-02-24 22:11:14 +00:00