mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-27 16:50:02 +02:00
fixed reading and double print in client
This commit is contained in:
parent
8cf94537c8
commit
b5e4d7d8fb
@ -75,15 +75,12 @@ void ClientSocket::readReply(int &ret, void *retval, size_t retval_size) {
|
||||
char mess[MAX_STR_LENGTH]{};
|
||||
// get error message
|
||||
read(mess, sizeof(mess));
|
||||
FILE_LOG(logERROR) << socketType << " returned error: " << mess;
|
||||
std::cout << "\n"; // needed to reset the color.
|
||||
|
||||
// Do we need to know hostname here?
|
||||
// In that case save it???
|
||||
if (socketType == "Receiver") {
|
||||
throw ReceiverError(mess);
|
||||
throw ReceiverError("Receiver returned: " + std::string(mess));
|
||||
} else if (socketType == "Detector") {
|
||||
throw DetectorError(mess);
|
||||
throw DetectorError("Detector returned: " + std::string(mess));
|
||||
} else {
|
||||
throw GuiError(mess);
|
||||
}
|
||||
|
@ -43,9 +43,12 @@ DataSocket &DataSocket::operator=(DataSocket &&move) noexcept {
|
||||
int DataSocket::receiveData(void *buffer, size_t size) {
|
||||
size_t dataRead = 0;
|
||||
while (dataRead < size) {
|
||||
dataRead +=
|
||||
auto thisRead =
|
||||
::read(getSocketId(), reinterpret_cast<char *>(buffer) + dataRead,
|
||||
size - dataRead);
|
||||
if (thisRead <= 0)
|
||||
break;
|
||||
dataRead += thisRead;
|
||||
}
|
||||
return dataRead;
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ int ServerInterface2::sendResult(int ret, void *retval, int retvalSize,
|
||||
|
||||
int ServerInterface2::receiveArg(void *arg, int sizeofArg) {
|
||||
assert(sizeofArg > 0);
|
||||
int bytes_read = read(arg, sizeofArg);
|
||||
int bytes_read = receiveData(arg, sizeofArg);
|
||||
if (bytes_read == sizeofArg) {
|
||||
return defs::OK;
|
||||
} else {
|
||||
|
Loading…
x
Reference in New Issue
Block a user