unsigned long long bw;
bool lt_on, bw_on;
+bool busy_wait;
bool stop;
bool raw_data_on; /* dump raw data (every possible result) */
//for(int i = 0; i < WARMUP_TRY + n_real_tries; i++) {
while(1) {
- if(!dbus_connection_read_write_dispatch(conn, -1)) {
+ if(!dbus_connection_read_write_dispatch(conn, busy_wait ? 0 : -1)) {
printf("read on parent error\n");
exit(1);
}
}
}
+void print_help_libdbus(char **argv)
+{
+ print_help(argv);
+ printf("-w: do busy-waiting on messages\n");
+}
+
int
main(int argc, char **argv)
{
n_real_tries = REAL_TRY;
msize = 3;
lt_on = bw_on = false;
- while((opt = getopt(argc, argv, "m:p:blhrt:")) != -1) {
+ while((opt = getopt(argc, argv, "m:p:blwhrt:")) != -1) {
switch(opt) {
case 'm':
msize = atoi(optarg);
case 'l':
lt_on = true;
break;
+ case 'w':
+ busy_wait = true;
+ break;
case 't':
n_real_tries = atoi(optarg);
if (n_real_tries <= 0) {
raw_data_on = true; /* dump raw data */
break;
case 'h':
- print_help(argv);
+ print_help_libdbus(argv);
exit(0);
}
}
if(!lt_on && !bw_on) {
- print_help(argv);
+ print_help_libdbus(argv);
exit(0);
}