Fixed a bug that caused control message errors on different platforms.
This commit is contained in:
parent
29e3ec74c3
commit
36d18d07fc
@ -103,7 +103,7 @@ struct iperf_test
|
||||
{
|
||||
char role; /* c' lient or 's' erver */
|
||||
int protocol;
|
||||
int state;
|
||||
char state;
|
||||
char *server_hostname; /* -c option */
|
||||
int server_port;
|
||||
int duration; /* total duration of test (-t flag) */
|
||||
|
@ -128,7 +128,7 @@ iperf_send(struct iperf_test *test)
|
||||
reporter_interval = new_timer(test->reporter_interval, 0);
|
||||
|
||||
test->state = TEST_RUNNING;
|
||||
if (write(test->ctrl_sck, &test->state, sizeof(int)) < 0) {
|
||||
if (write(test->ctrl_sck, &test->state, sizeof(char)) < 0) {
|
||||
perror("write TEST_RUNNING");
|
||||
exit(1);
|
||||
}
|
||||
@ -171,7 +171,7 @@ iperf_send(struct iperf_test *test)
|
||||
|
||||
// Send TEST_DONE (ALL_STREAMS_END) message
|
||||
test->state = TEST_END;
|
||||
if (write(test->ctrl_sck, &test->state, sizeof(int)) < 0) {
|
||||
if (write(test->ctrl_sck, &test->state, sizeof(char)) < 0) {
|
||||
perror("write TEST_END");
|
||||
return -1;
|
||||
}
|
||||
@ -360,7 +360,7 @@ iperf_exchange_parameters(struct iperf_test * test)
|
||||
|
||||
// Send the control message to create streams and start the test
|
||||
test->state = CREATE_STREAMS;
|
||||
if (write(test->ctrl_sck, &test->state, sizeof(int)) < 0) {
|
||||
if (write(test->ctrl_sck, &test->state, sizeof(char)) < 0) {
|
||||
perror("write CREATE_STREAMS");
|
||||
return -1;
|
||||
}
|
||||
@ -593,7 +593,7 @@ iperf_create_streams(struct iperf_test *test)
|
||||
int
|
||||
iperf_handle_message_client(struct iperf_test *test)
|
||||
{
|
||||
if (read(test->ctrl_sck, &test->state, sizeof(int)) < 0) {
|
||||
if (read(test->ctrl_sck, &test->state, sizeof(char)) < 0) {
|
||||
// indicate error on read
|
||||
return -1;
|
||||
}
|
||||
@ -649,7 +649,7 @@ iperf_connect(struct iperf_test *test)
|
||||
|
||||
/* Exchange parameters */
|
||||
test->state = PARAM_EXCHANGE;
|
||||
if (write(test->ctrl_sck, &test->state, sizeof(int)) < 0) {
|
||||
if (write(test->ctrl_sck, &test->state, sizeof(char)) < 0) {
|
||||
perror("write PARAM_EXCHANGE");
|
||||
return -1;
|
||||
}
|
||||
@ -1032,7 +1032,7 @@ iperf_client_end(struct iperf_test *test)
|
||||
}
|
||||
|
||||
test->state = IPERF_DONE;
|
||||
if (write(test->ctrl_sck, &test->state, sizeof(int)) < 0) {
|
||||
if (write(test->ctrl_sck, &test->state, sizeof(char)) < 0) {
|
||||
perror("write IPERF_DONE");
|
||||
return -1;
|
||||
}
|
||||
@ -1063,7 +1063,7 @@ iperf_run_client(struct iperf_test * test)
|
||||
if (setjmp(env)) {
|
||||
fprintf(stderr, "Interrupt received. Exiting...\n");
|
||||
test->state = CLIENT_TERMINATE;
|
||||
if (write(test->ctrl_sck, &test->state, sizeof(int)) < 0) {
|
||||
if (write(test->ctrl_sck, &test->state, sizeof(char)) < 0) {
|
||||
fprintf(stderr, "Unable to send CLIENT_TERMINATE message to serer\n");
|
||||
}
|
||||
exit(1);
|
||||
|
@ -166,7 +166,7 @@ iperf_accept(struct iperf_test *test)
|
||||
int
|
||||
iperf_handle_message_server(struct iperf_test *test)
|
||||
{
|
||||
if (read(test->ctrl_sck, &test->state, sizeof(int)) < 0) {
|
||||
if (read(test->ctrl_sck, &test->state, sizeof(char)) < 0) {
|
||||
// XXX: Needs to indicate read error
|
||||
return -1;
|
||||
}
|
||||
@ -181,7 +181,7 @@ iperf_handle_message_server(struct iperf_test *test)
|
||||
break;
|
||||
case TEST_END:
|
||||
test->state = DISPLAY_RESULTS;
|
||||
if (write(test->ctrl_sck, &test->state, sizeof(int)) < 0) {
|
||||
if (write(test->ctrl_sck, &test->state, sizeof(char)) < 0) {
|
||||
perror("write DISPLAY_RESULTS");
|
||||
exit(1);
|
||||
}
|
||||
@ -219,7 +219,7 @@ iperf_run_server(struct iperf_test *test)
|
||||
fprintf(stderr, "Interrupt received. Exiting...\n");
|
||||
test->state = SERVER_TERMINATE;
|
||||
if (test->ctrl_sck >= 0) {
|
||||
if (write(test->ctrl_sck, &test->state, sizeof(int)) < 0) {
|
||||
if (write(test->ctrl_sck, &test->state, sizeof(char)) < 0) {
|
||||
fprintf(stderr, "Unable to send SERVER_TERMINATE message to client\n");
|
||||
}
|
||||
}
|
||||
@ -270,7 +270,7 @@ iperf_run_server(struct iperf_test *test)
|
||||
FD_CLR(test->prot_listener, &test->read_set);
|
||||
close(test->prot_listener);
|
||||
test->state = TEST_START;
|
||||
if (write(test->ctrl_sck, &test->state, sizeof(int)) < 0) {
|
||||
if (write(test->ctrl_sck, &test->state, sizeof(char)) < 0) {
|
||||
perror("write TEST_START");
|
||||
return -1;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user