Main: catch exceptions in all of main()
This commit is contained in:
parent
0c464b24ad
commit
16d1c9f5d6
34
src/Main.cxx
34
src/Main.cxx
@ -389,7 +389,7 @@ static int mpd_main_after_fork(struct options);
|
|||||||
static inline
|
static inline
|
||||||
#endif
|
#endif
|
||||||
int mpd_main(int argc, char *argv[])
|
int mpd_main(int argc, char *argv[])
|
||||||
{
|
try {
|
||||||
struct options options;
|
struct options options;
|
||||||
Error error;
|
Error error;
|
||||||
|
|
||||||
@ -414,28 +414,23 @@ int mpd_main(int argc, char *argv[])
|
|||||||
io_thread_init();
|
io_thread_init();
|
||||||
config_global_init();
|
config_global_init();
|
||||||
|
|
||||||
try {
|
|
||||||
#ifdef ANDROID
|
#ifdef ANDROID
|
||||||
(void)argc;
|
(void)argc;
|
||||||
(void)argv;
|
(void)argv;
|
||||||
|
|
||||||
const auto sdcard = Environment::getExternalStorageDirectory();
|
const auto sdcard = Environment::getExternalStorageDirectory();
|
||||||
if (!sdcard.IsNull()) {
|
if (!sdcard.IsNull()) {
|
||||||
const auto config_path =
|
const auto config_path =
|
||||||
AllocatedPath::Build(sdcard, "mpd.conf");
|
AllocatedPath::Build(sdcard, "mpd.conf");
|
||||||
if (FileExists(config_path))
|
if (FileExists(config_path))
|
||||||
ReadConfigFile(config_path);
|
ReadConfigFile(config_path);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
if (!parse_cmdline(argc, argv, &options, error)) {
|
if (!parse_cmdline(argc, argv, &options, error)) {
|
||||||
LogError(error);
|
LogError(error);
|
||||||
return EXIT_FAILURE;
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
} catch (const std::exception &e) {
|
|
||||||
LogError(e);
|
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef ENABLE_DAEMON
|
#ifdef ENABLE_DAEMON
|
||||||
if (!glue_daemonize_init(&options, error)) {
|
if (!glue_daemonize_init(&options, error)) {
|
||||||
@ -496,6 +491,9 @@ int mpd_main(int argc, char *argv[])
|
|||||||
#else
|
#else
|
||||||
return mpd_main_after_fork(options);
|
return mpd_main_after_fork(options);
|
||||||
#endif
|
#endif
|
||||||
|
} catch (const std::exception &e) {
|
||||||
|
LogError(e);
|
||||||
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int mpd_main_after_fork(struct options options)
|
static int mpd_main_after_fork(struct options options)
|
||||||
|
Loading…
Reference in New Issue
Block a user