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(); }
int main(int argc, char *argv[]) { int c; // l stands for message length opterr = 0; optind = 1; int argc_copy = argc; char *argv_copy[argc]; for (int i = 0; i < argc; ++i) { size_t len = strlen(argv[i]); argv_copy[i] = (char*) malloc(len); memcpy(argv_copy[i], argv[i], len); } while ((c = getopt(argc_copy, argv_copy, "l:")) != -1) { switch(c) { case 'l': message_length = std::stoul(std::string(optarg)); break; default: break; } } rttest_read_args(argc, argv); pub = new ExamplePublisher(); pub->message_size = message_length; pub->init(); sub = new ExampleSubscriber(); sub->init(); if (rttest_lock_memory() != 0) { perror("Failed to lock dynamic memory"); } rttest_prefault_stack(); start_rt_thread(&subscriber_thread); if (rttest_set_sched_priority(98, SCHED_RR) != 0) { perror("Failed to set scheduling priority and policy"); } publisher_thread(NULL); /* for (int i = 0; i < argc; ++i) { free(argv_copy[i]); } */ //delete sub; }
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; }