summaryrefslogtreecommitdiff
path: root/src/Main.cxx
AgeCommit message (Collapse)Author
2021-01-01copyright year 2021Max Kellermann
2020-10-28Main: save the state_file on shutdownMax Kellermann
This got lost in commit 5d597a3646cc (v0.21.19), but it was never noticed because the state_file_interval was way too short due to commit 3413d1bf23a, fixed recently by commit 27cc7b352d5
2020-09-29remove clocale testRosen Penev
clocale is part of C++11. In practical terms, gcc's libstdc++ comes with its own locale defines when the libc does not have them. Also reworked to be dependent on !ANDROID. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-09-23LogLevel: rename DEFAULT to NOTICEMax Kellermann
"DEFAULT" is a bad name - all it says is that it's the default value, but it doesn't say what it means. The name NOTICE mimics the syslog level.
2020-03-31replace locale.h with clocaleRosen Penev
Switch to std:: functions. Changed the meson check. Works locally. Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-19Merge tag 'v0.21.21'Max Kellermann
release v0.21.21
2020-03-19raise default "max_connections" value to 100Max Kellermann
Documentation says the limit is 5, but it was really 10 (at least since 2004). But since MPD wants to promote using many small clients idling around, and these clients consume only very few resources, it seems reasonable to raise this limit's default value.
2020-03-12replace limits.h with climitsRosen Penev
The former was deprecated with C++14. The standard says they are the same with one exception: The header<climits>defines all macros the same as the C standard library header<limits.h>. [Note:The types of the constants defined by macros in<climits>are not required to match the types to which themacros refer.— end note] Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-02-17unix/SignalHandlers: pass Instance to ...Init()Max Kellermann
2020-02-01*: use `auto`Max Kellermann
2020-01-20output/multiple: add "client" field, replacing the "client" parameterMax Kellermann
By eliminating GetAnyClient(), we can have instances with no outputs at all.
2020-01-20Instance: move OnIdle() to Instance.cxxMax Kellermann
2020-01-20Instance: move code to OnStateModified()Max Kellermann
2020-01-20Instance: manage StateFile with std::unique_ptrMax Kellermann
2020-01-20Main: move code to Partition::BeginShutdown()Max Kellermann
2020-01-18AudioFormat: move to pcm/Max Kellermann
2020-01-18copyright year 2020Max Kellermann
2019-07-05include cleanups (powered by iwyu)Max Kellermann
2019-06-17pcm/Pcm*: drop more "Pcm" prefixes from source file namesMax Kellermann
2019-06-17Copyright year 2019Max Kellermann
2019-05-31input/cache: first draft of the file cacheMax Kellermann
2019-05-29config/Parser: add ParseSize()Max Kellermann
Supports suffixes such as "kB" and "MB".
2019-05-29Main: add Config constructorMax Kellermann
2019-05-29Main: move two more functions downMax Kellermann
2019-05-29Main: move main() to the bottomMax Kellermann
2019-05-29Main: fold mpd_main_after_fork() into MainConfigured()Max Kellermann
2019-05-29config/Param: add method With()Max Kellermann
2019-05-29Instance: wrap ClientList in std::unique_ptr<>Max Kellermann
2019-05-29Main: allocate Instance on the stackMax Kellermann
2019-05-29thread/Slack: use std::chrono::durationMax Kellermann
2019-05-29Main: simplify Android startupMax Kellermann
2019-05-29Main: use AtScopeExit() to free Android objectsMax Kellermann
2019-05-29Main: add overload with ConfigData parameterMax Kellermann
2019-05-29Main: convert `int` return types to `void`Max Kellermann
2019-04-25Instance: use std::unique_ptr<> to manage the NeighborGlue pointerMax Kellermann
2019-04-25Main: use AtScopeExit() to call NeighborGlue::Close()Max Kellermann
2019-04-25sticker/Database: wrap in class StickerDatabaseMax Kellermann
2019-04-24sticker/*: rename source files, drop "Sticker" prefixMax Kellermann
2019-04-24Instance: add `noexcept`Max Kellermann
2019-04-24java/Object: add Object.toString() wrapperMax Kellermann
2019-04-03client/Internal: rename to Config.hxxMax Kellermann
2019-04-03client/*: rename source files, remove "Client" prefixMax Kellermann
2019-02-20Main: create Database on stack, move to Instance after Open() succeededMax Kellermann
This fixes use-after-free bug in SimpleDatabase::Close(), accessing the `root` object which was already freed by the `catch` block in Open(). By having the Database on the stack first, we can avoid calling Close() on the failed-to-open Database from Instance's destructor. Closes #482
2019-02-20Instance: use std::unique_ptr<> to manage the Database pointerMax Kellermann
2019-02-20db/Plugin: use std::unique_ptr<> to manage Database pointersMax Kellermann
2019-02-15Instance: eliminate FinishShutdownUpdate(), move code to destructorMax Kellermann
2019-02-15Instance: eliminate ShutdownDatabase(), move code to destructorMax Kellermann
Destruct automatically, even if leaving the scope due to exception being thrown.
2019-02-05playlist/Registry: add RAII classMax Kellermann
2019-02-05Main: use AtScopeExit() to call DeinitFS()Max Kellermann
2019-02-05Mapper: remove empty function mapper_finish()Max Kellermann