diff --git a/src/iperf_api.c b/src/iperf_api.c index b41368709..947b01dc1 100644 --- a/src/iperf_api.c +++ b/src/iperf_api.c @@ -2392,6 +2392,10 @@ iperf_exchange_results(struct iperf_test *test) /* Get client results. */ if (get_results(test) < 0) return -1; + + /* Report results once client's results are received */ + test->reporter_callback(test); + /* Send results to client. */ if (send_results(test) < 0) return -1; @@ -4553,6 +4557,7 @@ iperf_reporter_callback(struct iperf_test *test) iperf_print_intermediate(test); break; case TEST_END: + case EXCHANGE_RESULTS: case DISPLAY_RESULTS: iperf_print_intermediate(test); iperf_print_results(test); diff --git a/src/iperf_server_api.c b/src/iperf_server_api.c index e9313244f..a7204b4d0 100644 --- a/src/iperf_server_api.c +++ b/src/iperf_server_api.c @@ -275,7 +275,6 @@ iperf_handle_message_server(struct iperf_test *test) FD_CLR(sp->socket, &test->write_set); close(sp->socket); } - test->reporter_callback(test); if (iperf_set_send_state(test, EXCHANGE_RESULTS) != 0) return -1; if (iperf_exchange_results(test) < 0)