Skip to content
Snippets Groups Projects
Commit e3defcad authored by Deucе's avatar Deucе :ok_hand_tone4:
Browse files

Set flow control before raising DTR

Possibly setting CTS/RTS after raising DTR drops DTR which causes
DCD to be lost.
parent 0b4370c8
No related branches found
No related tags found
No related merge requests found
Pipeline #7214 passed
...@@ -180,6 +180,14 @@ modem_connect(struct bbslist *bbs) ...@@ -180,6 +180,14 @@ modem_connect(struct bbslist *bbs)
comClose(com); comClose(com);
return -1; return -1;
} }
if (!comSetFlowControl(com, bbs->flow_control)) {
conn_api.close();
if (!bbs->hidepopups) {
uifcmsg("Failed to set Flow Control", "`Failed to set Flow Control`\n\n"
"SyncTERM was unable to set flow control.\n");
}
return -1;
}
if (bbs->conn_type == CONN_TYPE_SERIAL_NORTS) if (bbs->conn_type == CONN_TYPE_SERIAL_NORTS)
comLowerRTS(com); comLowerRTS(com);
if (!comRaiseDTR(com)) { if (!comRaiseDTR(com)) {
...@@ -225,6 +233,15 @@ modem_connect(struct bbslist *bbs) ...@@ -225,6 +233,15 @@ modem_connect(struct bbslist *bbs)
comClose(com); comClose(com);
return -1; return -1;
} }
if (!comSetFlowControl(com, bbs->flow_control)) {
conn_api.close();
if (!bbs->hidepopups) {
uifcmsg("Failed to set Flow Control", "`Failed to set Flow Control`\n\n"
"SyncTERM was unable to set flow control.\n");
}
return -1;
}
if (!comRaiseDTR(com)) { if (!comRaiseDTR(com)) {
if (!bbs->hidepopups) if (!bbs->hidepopups)
uifcmsg("Cannot Raise DTR", "`Cannot Raise DTR`\n\n" uifcmsg("Cannot Raise DTR", "`Cannot Raise DTR`\n\n"
...@@ -320,15 +337,6 @@ modem_connect(struct bbslist *bbs) ...@@ -320,15 +337,6 @@ modem_connect(struct bbslist *bbs)
} }
} }
if (!comSetFlowControl(com, bbs->flow_control)) {
conn_api.close();
if (!bbs->hidepopups) {
uifcmsg("Failed to set Flow Control", "`Failed to set Flow Control`\n\n"
"SyncTERM was unable to set flow control.\n");
}
return -1;
}
if (!create_conn_buf(&conn_inbuf, BUFFER_SIZE)) { if (!create_conn_buf(&conn_inbuf, BUFFER_SIZE)) {
conn_api.close(); conn_api.close();
return -1; return -1;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment