int main(int argc, char *argv[]) { sub = new ExampleSubscriber(); sub->init(); rttest_read_args(argc, argv); if (rttest_set_sched_priority(90, SCHED_RR) != 0) { perror("Failed to set scheduling priority and policy of thread"); } size_t pool_size = 1024*1024*1024; size_t stack_size = sizeof(*sub) + 1024*1024; if (rttest_lock_memory() != 0) { perror("Failed to lock memory"); } rttest_prefault_stack(); rttest_spin(sub_callback, NULL); rttest_write_results(); rttest_finish(); std::cout << "Subscriber received " << sub->msgs_count << " messages." << std::endl; sub->teardown(); delete sub; }
int main(int argc, char *argv[]) { sub.init(); rttest_read_args(argc, argv); if (rttest_set_sched_priority(90, SCHED_RR) != 0) { perror("Failed to set scheduling priority and policy of thread"); } if (rttest_lock_memory() != 0) { perror("Failed to lock memory"); } rttest_prefault_stack(); rttest_spin(sub_callback, NULL); rttest_write_results(); rttest_finish(); sub.teardown(); }
void *publisher_thread(void *unused) { rttest_spin(pub_callback, NULL); rttest_write_results_file("rttest_publisher_results"); if (pub != NULL) pub->teardown(); rttest_finish(); }
/// Wrap executor::spin into rttest_spin. // Do all the work available to the executor for as many iterations specified by rttest. void spin() { // This call will block until rttest is finished, calling loop_callback at periodic intervals // specified on the command line. rttest_spin(RttExecutor::loop_callback, static_cast<void *>(this)); // Clean up state and write results after rttest has finished spinning. running = false; rttest_write_results(); if (rttest_running()) { rttest_finish(); } rttest_ready = rttest_running(); }
void *subscriber_thread(void *unused) { rttest_init_new_thread(); if (rttest_set_sched_priority(98, SCHED_RR) != 0) { perror("Failed to set scheduling priorty and policy of thread"); } rttest_spin(sub_callback, NULL); rttest_write_results_file("rttest_subscriber_results"); std::cout << "Subscriber received " << sub->msgs_count << " messages." << std::endl; /*if (sub != NULL) sub->teardown();*/ rttest_finish(); }
int main(int argc, char ** argv) { rttest_set_sched_priority(98, SCHED_RR); if (rttest_read_args(argc, argv) != 0) { perror("Couldn't read arguments for rttest"); return -1; } if (rttest_lock_memory() != 0) { perror("Couldn't lock memory"); return -1; } rttest_lock_and_prefault_dynamic(); rttest_spin(my_loop_callback, NULL); rttest_write_results(); rttest_finish(); return 0; }