# HG changeset patch # User mas01mc # Date 1220632841 0 # Node ID cdb31e8b94e3c2c11c7178cba3cd1315015af0f0 # Parent ccf15a8c3e46377adc013b6f63ff26fc856dd0c8 fixed startServer() reporting of non-locatable database or index. Achieved by setting isServer=1 AFTER checking database and loading INDEX. diff -r ccf15a8c3e46 -r cdb31e8b94e3 audioDB.cpp --- a/audioDB.cpp Fri Sep 05 14:35:44 2008 +0000 +++ b/audioDB.cpp Fri Sep 05 16:40:41 2008 +0000 @@ -103,7 +103,7 @@ audioDB::audioDB(const unsigned argc, char* const argv[], adb__queryResponse *adbQueryResponse): O2_AUDIODB_INITIALIZERS { try { - isServer = 1; // FIXME: Hack + isServer = 1; // Set to make errors report over SOAP processArgs(argc, argv); // Perform database prefix substitution if(dbName && adb_root) @@ -121,7 +121,7 @@ audioDB::audioDB(const unsigned argc, char* const argv[], adb__statusResponse *adbStatusResponse): O2_AUDIODB_INITIALIZERS { try { - isServer = 1; // FIXME: Hack + isServer = 1; // Set to make errors report over SOAP processArgs(argc, argv); // Perform database prefix substitution if(dbName && adb_root) @@ -139,8 +139,8 @@ audioDB::audioDB(const unsigned argc, char* const argv[], adb__lisztResponse *adbLisztResponse): O2_AUDIODB_INITIALIZERS { try { - isServer = 1; // FIXME: Hack - processArgs(argc, argv); + isServer = 1; // Set to make errors report over SOAP + processArgs(argc, argv); // Perform database prefix substitution if(dbName && adb_root) prefix_name((char** const)&dbName, adb_root); @@ -307,7 +307,6 @@ port=args_info.SERVER_arg; if(port<100 || port > 100000) error("port out of range"); - isServer = 1; #if defined(O2_DEBUG) struct sigaction sa; sa.sa_sigaction = sigterm_action; diff -r ccf15a8c3e46 -r cdb31e8b94e3 soap.cpp --- a/soap.cpp Fri Sep 05 14:35:44 2008 +0000 +++ b/soap.cpp Fri Sep 05 16:40:41 2008 +0000 @@ -398,7 +398,8 @@ SERVER_ADB_ROOT = (char*)adb_root; // Server-side database root if(adb_feature_root) SERVER_ADB_FEATURE_ROOT = (char*)adb_feature_root; // Server-side features root - + + isServer = 1; // From this point, errors are reported via SOAP to the client for (int i = 1; ; i++) { s = soap_accept(&soap);