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" {
|
||||
#endif
|
||||
|
||||
// ASCII End Of Transmission code
|
||||
#define EOT 4
|
||||
|
||||
// TDBMS request codes
|
||||
enum TRC {
|
||||
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;
|
||||
req_size -= nwrite;
|
||||
if (req_size == 0) {
|
||||
nwrite = write(socket_fd, "\4", 1);
|
||||
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);
|
||||
offset += nread;
|
||||
if (response[offset - 1] == 0) {
|
||||
if (response[offset - 1] == EOT) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -836,7 +836,7 @@ void *client_thread(void *arg) {
|
||||
}
|
||||
memcpy(request + offset, buffer, nread);
|
||||
offset += nread;
|
||||
if (request[offset - 1] == 0) {
|
||||
if (request[offset - 1] == EOT) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -860,6 +860,7 @@ void *client_thread(void *arg) {
|
||||
buf += nwrite;
|
||||
resp_size -= nwrite;
|
||||
if (resp_size == 0) {
|
||||
nwrite = write(client_fd, "\4", 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user