From: <aa...@us...> - 2007-05-24 14:33:21
|
Revision: 265 http://svn.sourceforge.net/gull/?rev=265&view=rev Author: aajjan Date: 2007-05-24 07:33:16 -0700 (Thu, 24 May 2007) Log Message: ----------- NEW: Seagull return codes upon exit Modified Paths: -------------- seagull/trunk/src/generator-core/C_Generator.cpp seagull/trunk/src/generator-core/C_Generator.hpp seagull/trunk/src/generator-core/C_TaskControl.cpp Modified: seagull/trunk/src/generator-core/C_Generator.cpp =================================================================== --- seagull/trunk/src/generator-core/C_Generator.cpp 2007-05-24 10:48:55 UTC (rev 264) +++ seagull/trunk/src/generator-core/C_Generator.cpp 2007-05-24 14:33:16 UTC (rev 265) @@ -126,7 +126,6 @@ m_display_help = NULL ; m_display_period = 0 ; - } C_Generator::~C_Generator() { @@ -602,14 +601,16 @@ ? E_GEN_FATAL_ERROR : E_GEN_NO_ERROR ; } + if (L_genError == E_GEN_NO_ERROR) { - GEN_DEBUG(1, "C_Generator::InitProcedure() fromXml called success"); - m_read_control -> set_config (m_config) ; - m_scen_control -> set_config (m_config) ; - - if (m_config->get_value(E_CFG_OPT_RESP_TIME_REPART, &L_repart)) { - C_GeneratorStats::instance() - ->setRepartitionResponseTime(L_repart); + GEN_DEBUG(1, "C_Generator::InitProcedure() fromXml called success"); + m_read_control -> set_config (m_config) ; + m_scen_control -> set_config (m_config) ; + + if (m_config->get_value(E_CFG_OPT_RESP_TIME_REPART, &L_repart)) { + C_GeneratorStats::instance() + ->setRepartitionResponseTime(L_repart); + } } @@ -656,7 +657,6 @@ ? E_GEN_FATAL_ERROR : E_GEN_NO_ERROR ; } - if (L_genError == E_GEN_NO_ERROR) { if (L_external_data_file == NULL) { if (m_scen_control->external_data_used() == true) { @@ -664,9 +664,8 @@ L_genError = E_GEN_FATAL_ERROR ; } } - } + } - if (L_genError == E_GEN_NO_ERROR) { m_read_control -> set_scenario_control (m_scen_control, L_trafficType) ; } @@ -1105,8 +1104,7 @@ } - } - + } // if (L_data_mesure ..) } @@ -1154,7 +1152,7 @@ GEN_DEBUG(1, "C_Generator::EndProcedure() end"); - return (E_GEN_NO_ERROR); + return (ReturnCode()); } T_GeneratorError C_Generator::ForcedStoppingProcedure() { @@ -1177,6 +1175,7 @@ T_GeneratorError C_Generator::StoppingProcedure() { GEN_DEBUG(1, "C_Generator::StoppingProcedure () start"); + // just other thread concerned m_read_control -> stop() ; @@ -1184,6 +1183,43 @@ return (E_GEN_NO_ERROR); } +T_GeneratorError C_Generator::ReturnCode() { + + unsigned long L_counter_value_failed = 0 ; + unsigned long L_counter_value_rejected = 0 ; + unsigned long L_counter_value_aborted = 0 ; + unsigned long L_counter_value_timeout = 0 ; + + T_GeneratorError L_genError = E_GEN_NO_ERROR ; + + L_counter_value_failed = + C_GeneratorStats::instance()->getStatAction(C_GeneratorStats::E_CALL_FAILED, + C_GeneratorStats::CPT_C_FailedCall); + + L_counter_value_rejected = + C_GeneratorStats::instance()->getStatAction(C_GeneratorStats::E_CALL_REFUSED, + C_GeneratorStats::CPT_C_RefusedCall); + + L_counter_value_aborted = + C_GeneratorStats::instance()->getStatAction(C_GeneratorStats::E_FAILED_ABORTED, + C_GeneratorStats::CPT_C_FailedCallAborted); + + L_counter_value_timeout = + C_GeneratorStats::instance()->getStatAction(C_GeneratorStats::E_FAILED_TIMEOUT, + C_GeneratorStats::CPT_C_FailedCallTimeout); + + if (L_counter_value_timeout == 0 && + L_counter_value_aborted == 0 && + L_counter_value_rejected == 0 && + L_counter_value_failed == 0) { + L_genError = E_GEN_NO_ERROR ; + } else { + L_genError = E_GEN_ERROR_CALL_FAILED ; + } + + return (L_genError); +} + void C_Generator::set_screen (char P_key) { GEN_DEBUG(1, "C_Generator::set_screen(" << P_key << ") start"); if (m_display_control != NULL) { Modified: seagull/trunk/src/generator-core/C_Generator.hpp =================================================================== --- seagull/trunk/src/generator-core/C_Generator.hpp 2007-05-24 10:48:55 UTC (rev 264) +++ seagull/trunk/src/generator-core/C_Generator.hpp 2007-05-24 14:33:16 UTC (rev 265) @@ -130,10 +130,6 @@ int m_nb_forced ; pthread_t *m_keyboard_thread ; - - - - // generator model C_ProtocolControl *m_protocol_ctrl ; C_TransportControl *m_transport_ctrl ; @@ -147,7 +143,9 @@ T_GeneratorError ForcedStoppingProcedure(); void ExitProcedure () ; + T_GeneratorError ReturnCode () ; + } ; typedef C_Generator * T_pC_Generator ; Modified: seagull/trunk/src/generator-core/C_TaskControl.cpp =================================================================== --- seagull/trunk/src/generator-core/C_TaskControl.cpp 2007-05-24 10:48:55 UTC (rev 264) +++ seagull/trunk/src/generator-core/C_TaskControl.cpp 2007-05-24 14:33:16 UTC (rev 265) @@ -202,7 +202,7 @@ (void*) P_taskControl) ; if (L_return != 0) { - GEN_FATAL(0, "pthread_create() error"); + GEN_FATAL(E_GEN_FATAL_ERROR, "pthread_create() error"); } GEN_DEBUG(0, "start_controller() end"); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |