Andrey Prygunkov
adf3e05e1d
#351 : refactor: utility function "Sleep"
...
to replace direct calls to “usleep”, with parameter in milliseconds
instead of microseconds.
2019-01-22 22:23:40 +01:00
Andrey Prygunkov
59cae49344
#604 : fixed LGTM alerts for C++
2019-01-19 11:55:25 +01:00
Andrey Prygunkov
a329c65eb3
#351 : pause article cache loop when cache is empty
...
to improve CPU usage when idle
2019-01-11 21:52:45 +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
Federico Cuello
2c85def959
Replace custom Guard class by std::lock_guard and std::unique_lock
...
Use a typedef to maintain the name and use Guard for simple scoped lock
guards and UniqueLock when it needs to be movable.
2019-01-02 20:49:10 +01:00
Andrey Prygunkov
05d7a8ede2
#533 : fixed crash on malformed articles
2018-05-06 22:43:14 +02:00
Andrey Prygunkov
3a4e6623db
fixed #529 : crash when flushing article cache after direct rename
2018-04-03 13:02:57 +02:00
Andrey Prygunkov
2d70e1de21
#462 : fixed: backup servers not used on certain article decoding errors
2017-10-29 17:52:39 +01:00
Andrey Prygunkov
d4886ac7d1
#461 : removed option "BrokenLog"
2017-10-29 12:51:49 +01:00
Andrey Prygunkov
af111adbde
#461 : removed options "SaveQueue" and "ReloadQueue"
2017-10-28 16:17:45 +02:00
Andrey Prygunkov
3a0489a4a9
#435 : fixed warnings in 64 bit mode on Windows
2017-10-16 18:13:34 +02:00
Andrey Prygunkov
a31fb733a2
#454 : SIMD CRC routines for Intel and ARM
2017-10-12 21:09:24 +02:00
Andrey Prygunkov
37b04c593a
#448 : don't try deleting files that don't exist
...
- a small optimisation to reduce disk activity
2017-10-08 21:11:05 +02:00
Andrey Prygunkov
54eb8e1291
#448 : new option "SkipWrite"
...
replaces compiler define “SKIP_ARTICLE_WRITING”. 2) renamed option
“Decode” to “RawArticle”. 3) option “CrcCheck” moved from section
“Download Queue “ into section “Check and Repair”
2017-09-28 17:31:47 +02:00
Andrey Prygunkov
71505340d0
#448 : disable article writing and decoding
...
Disabling is now possible for test purposes via defines
SKIP_ARTICLE_WRITING and SKIP_ARTICLE_DECODING (nzbget.h)
2017-09-22 20:25:05 +02:00
Andrey Prygunkov
481e7b3d2b
refactor: removed updates from article writer
2017-09-13 19:19:01 +02:00
Andrey Prygunkov
629640898d
#362 : prevent repeating of error messages
...
If a file got lost before cache flushing.
2017-05-23 19:21:07 +02:00
Andrey Prygunkov
08de827d7b
refactor: removed unneeded type casts
2017-05-18 18:43:08 +02:00
Andrey Prygunkov
d1bda91954
refactor: removed one override for FileExists
2017-05-17 21:26:27 +02:00
Andrey Prygunkov
62b3d47b43
#362 : redesigned renaming
...
Spread RenameInfo into FileInfo and NzbInfo to make the state easier to
save on disk
2017-04-28 23:55:41 +02:00
Andrey Prygunkov
830e0e4858
#362 : proper rename on completion
...
Fixed: if the file was renamed during finalizing stage (completion) the
file may not be properly renamed.
2017-04-27 17:31:39 +02:00
Andrey Prygunkov
43f25587d2
#205 : improved file state handling
...
Better handling of all cases: manual delete, health delete, retry
failed, download remaining with ContinuePartial=on/off and
DirectWrite=on/off.
2016-05-12 23:22:06 +02:00
Andrey Prygunkov
f08d3918dc
#205 : retry for deleted downloads too
...
Commands “Retry failed articles” and “Download remaining files“ now
work for deleted downloads too (including deleted by health check).
2016-05-09 19:17:17 +02:00
Andrey Prygunkov
b82cc06789
#205 : retry failed articles
...
- new action in history dialog: retry failed articles;
- new command “HistoryRetryFailed” of RPC-method “editqueue”;
- new subcommand “F” of command line switch “-E/--edit” for history.
2016-04-21 22:14:12 +02:00
Andrey Prygunkov
4f29804602
#136 : fixed possible crash when canceling download
...
and having option “DirectWrite” disabled.
2016-04-12 19:03:47 +02:00
Andrey Prygunkov
3278544d46
#195 : preallocate files without sparse on Windows
...
Reduce disk fragmentation in direct write mode on Windows when using
article cache.
2016-03-29 18:51:08 +02:00
Andrey Prygunkov
6b879e0c75
#172 : 232c1a5597: fixed: segment alloc not always properly handled
...
and may cause program hanging on shutdown, with high cpu usage.
2016-03-26 18:41:27 +01:00
Andrey Prygunkov
cb8df8495b
#172 : 232c1a5597: fixed: segment realloc not properly handled
...
and may cause program hanging on shutdown, with high cpu usage.
2016-03-24 21:34:36 +01:00
Andrey Prygunkov
c0d29d88b9
#193 : corrected lock scope
2016-03-24 17:47:42 +01:00
Gunnar Lilleaasen
181a395515
Updated names of guarded pointers used directly in foreach loops.
2016-03-24 13:01:15 +01:00
Gunnar Lilleaasen
4f7849fbc1
Fixed guard usage in foreach loops, where the guards would unlock before the iteration was done.
2016-03-24 02:44:12 +01: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
1a74695126
#148 : unique smart pointers for download containers
2016-03-11 22:49:14 +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
232c1a5597
#172 : new class for cached segments
...
1) improve memory management; 2) removed dependency of module
“DownloadInfo.cpp” from article cache module “ArticleWriter.h”
2016-02-26 22:59:00 +01:00
Andrey Prygunkov
1162c89e77
#167 : prefer stack objects
2016-02-17 22:02:41 +01:00
Andrey Prygunkov
ff69fbbeb9
#136 : avoid double slashes in paths
...
Extra long path names are not normalized automatically by Windows and
therefore must contain paths in canonical form.
2016-01-23 14:23:53 +01:00
Andrey Prygunkov
8f84132218
#156 : new class "CharBuffer" for temporary buffers
...
Replaced everywhere plain “char”-buffers with new class. Avoid using
“malloc/free”.
2016-01-17 00:06:27 +01:00
Andrey Prygunkov
ef4a72d383
#152 : eliminated dereferences in for-range loops using “begin()” and “end()” template functions in “nzbget.h”
2016-01-13 19:44:40 +01:00
Andrey Prygunkov
b32b4c0691
#152 : for-range loops with iterators
2016-01-12 00:30:17 +01:00
Andrey Prygunkov
32400a810f
#143 : store download objects directly in containers
...
…where possible.
2016-01-08 22:29:44 +01:00
Andrey Prygunkov
04c3e0d263
#138 : use "nullptr" instead of "NULL"
2015-12-30 16:35:07 +01:00
Andrey Prygunkov
c68ba306fe
#131 : using enum for file mode in function DiskFile::Open
2015-12-26 17:19:12 +01:00
Andrey Prygunkov
6840ef4439
#131 : routing a few more remaining function calls through module "FileSystem"
...
“rename”, “remove” and “rmdir”.
2015-12-25 22:55:46 +01:00
Andrey Prygunkov
dce6f0c9a3
#131 : new class DiskFile to wrap "FILE*"-functions
2015-12-25 18:11:50 +01:00
Andrey Prygunkov
eae6fd5d91
#131 : wrapped function "remove" into module FileSystem
...
under name “DeleteFile”.
2015-12-24 18:34:15 +01:00
Andrey Prygunkov
321c7efa41
#130 : moved parts from module "Util" into new module "FileSystem"
2015-12-22 22:01:03 +01:00
Andrey Prygunkov
d87d6ac2ac
#126 : using CString for ref-parameters and return values
...
1) for parameters use references to CString instead of pointers to
buffers;
2) when returning strings use CString instead of pointer to char buffer
which caller needs to deallocate;
3) use BString even more.
2015-12-20 16:27:01 +01:00