diff --git a/core/Communication.cc b/core/Communication.cc index e7e22e9063a95370679786082073ce1be1923c13..890fd34725c4ef11a46b97a989792a6093613263 100644 --- a/core/Communication.cc +++ b/core/Communication.cc @@ -860,7 +860,10 @@ void TTCN_Communication::send_create_req(const char *component_type_module, text_buf.push_string(component_name); text_buf.push_string(component_location); text_buf.push_int(is_alive ? 1 : 0); - text_buf.push_int(testcase_start_time.tv_sec); + int upper_int = testcase_start_time.tv_sec / 0xffffffff; + int lower_int = testcase_start_time.tv_sec % 0xffffffff; + text_buf.push_int(upper_int); + text_buf.push_int(lower_int); text_buf.push_int(testcase_start_time.tv_usec); send_message(text_buf); } @@ -1405,7 +1408,9 @@ void TTCN_Communication::process_create_ptc() qualified_name current_testcase; incoming_buf.pull_qualified_name(current_testcase); timeval testcase_start_time; - testcase_start_time.tv_sec = incoming_buf.pull_int().get_val(); + int upper_int = incoming_buf.pull_int().get_val(); + int lower_int = incoming_buf.pull_int().get_val(); + testcase_start_time.tv_sec = upper_int * 0xffffffff + lower_int; testcase_start_time.tv_usec = incoming_buf.pull_int().get_val(); incoming_buf.cut_message(); diff --git a/mctr2/mctr/MainController.cc b/mctr2/mctr/MainController.cc index 6e47db1064d0d98f238dbd7a4d2d474ce02b68d8..a5fd3c137f90342d96ea1054162ebfe76f82629d 100644 --- a/mctr2/mctr/MainController.cc +++ b/mctr2/mctr/MainController.cc @@ -3267,7 +3267,10 @@ void MainController::send_create_ptc(host_struct *hc, text_buf.push_string(component_name); text_buf.push_int(is_alive ? 1 : 0); text_buf.push_qualified_name(current_testcase); - text_buf.push_int(testcase_start_time.tv_sec); + int upper_int = testcase_start_time.tv_sec / 0xffffffff; + int lower_int = testcase_start_time.tv_sec % 0xffffffff; + text_buf.push_int(upper_int); + text_buf.push_int(lower_int); text_buf.push_int(testcase_start_time.tv_usec); send_message(hc->hc_fd, text_buf); } @@ -4171,7 +4174,9 @@ void MainController::process_create_req(component_struct *tc) component_location = NULL; } boolean is_alive = text_buf.pull_int().get_val(); - testcase_start_time.tv_sec = text_buf.pull_int().get_val(); + int upper_int = text_buf.pull_int().get_val(); + int lower_int = text_buf.pull_int().get_val(); + testcase_start_time.tv_sec = upper_int * 0xffffffff + lower_int; testcase_start_time.tv_usec = text_buf.pull_int().get_val(); host_struct *host = choose_ptc_location(component_type.definition_name,