fix(dbms): put EOT char in the end of request/response
This commit is contained in:
parent
23aae2c3b1
commit
58868ff681
@ -9,6 +9,9 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// ASCII End Of Transmission code
|
||||||
|
#define EOT 4
|
||||||
|
|
||||||
// TDBMS request codes
|
// TDBMS request codes
|
||||||
enum TRC {
|
enum TRC {
|
||||||
trc_db_stats = 0b0,
|
trc_db_stats = 0b0,
|
||||||
|
|||||||
@ -57,6 +57,7 @@ char *tdb_query(int socket_fd, const char *db_name, char request_code, const cha
|
|||||||
buffer += nwrite;
|
buffer += nwrite;
|
||||||
req_size -= nwrite;
|
req_size -= nwrite;
|
||||||
if (req_size == 0) {
|
if (req_size == 0) {
|
||||||
|
nwrite = write(socket_fd, "\4", 1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -75,7 +76,7 @@ char *tdb_query(int socket_fd, const char *db_name, char request_code, const cha
|
|||||||
}
|
}
|
||||||
memcpy(response + offset, buffer, nread);
|
memcpy(response + offset, buffer, nread);
|
||||||
offset += nread;
|
offset += nread;
|
||||||
if (response[offset - 1] == 0) {
|
if (response[offset - 1] == EOT) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -836,7 +836,7 @@ void *client_thread(void *arg) {
|
|||||||
}
|
}
|
||||||
memcpy(request + offset, buffer, nread);
|
memcpy(request + offset, buffer, nread);
|
||||||
offset += nread;
|
offset += nread;
|
||||||
if (request[offset - 1] == 0) {
|
if (request[offset - 1] == EOT) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -860,6 +860,7 @@ void *client_thread(void *arg) {
|
|||||||
buf += nwrite;
|
buf += nwrite;
|
||||||
resp_size -= nwrite;
|
resp_size -= nwrite;
|
||||||
if (resp_size == 0) {
|
if (resp_size == 0) {
|
||||||
|
nwrite = write(client_fd, "\4", 1);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user