- Introduced a new trace facility
- Fixed performance problems in many protocol drivers. SKIPPED: psi/julprot.c psi/phytron.c psi/pmacprot.c psi/polterwrite.c psi/spss7.c
This commit is contained in:
@ -20,7 +20,12 @@
|
||||
#include "nread.h"
|
||||
#include "rs232controller.h"
|
||||
|
||||
|
||||
/*--------------------------------------------------------------------*/
|
||||
static char *MakeID(prs232 self){
|
||||
static char id[132];
|
||||
snprintf(id,sizeof(id),"%s:%d",self->pHost, self->iPort);
|
||||
return id;
|
||||
}
|
||||
/*--------------------------------------------------------------------*/
|
||||
void setRS232SendTerminator(prs232 self, char *term)
|
||||
{
|
||||
@ -119,6 +124,11 @@ int writeRS232(prs232 self, void *data, int dataLen)
|
||||
}
|
||||
fflush(stdout);
|
||||
}
|
||||
if(strlen((char *)data) <= dataLen){
|
||||
traceIO(MakeID(self),"out:%s",(char *)data);
|
||||
} else {
|
||||
traceIO(MakeID(self),"out:%s","Binary output");
|
||||
}
|
||||
|
||||
if (pPtr != NULL)
|
||||
free(pPtr);
|
||||
@ -167,6 +177,11 @@ int readRS232(prs232 self, void *data, int *dataLen)
|
||||
}
|
||||
fflush(stdout);
|
||||
}
|
||||
if(strlen((char *)data) <= *dataLen){
|
||||
traceIO(MakeID(self),"in:%s",(char *)data);
|
||||
} else {
|
||||
traceIO(MakeID(self),"in:%s","Binary Input");
|
||||
}
|
||||
*dataLen = lRead;
|
||||
return 1;
|
||||
} else {
|
||||
@ -208,11 +223,14 @@ int readRS232TillTerm(prs232 self, void *data, int *datalen)
|
||||
if (self->debug > 0) {
|
||||
printf("RS232 IN/TERM : TIMEOUT:%s\n", (char *) data);
|
||||
}
|
||||
traceIO(MakeID(self),"in:%s","TIMEOUT");
|
||||
return TIMEOUT;
|
||||
} else if (iRet == -1) {
|
||||
printf("Incomplete read: %s, errno = %d\n", (char *) data, errno);
|
||||
traceIO(MakeID(self),"in:%s %s","Incomplete read", (char *)data);
|
||||
printf("Incomplete read: %s, errno = %d\n", (char *) data, errno);
|
||||
return INCOMPLETE;
|
||||
} else if (iRet < 0) {
|
||||
traceIO(MakeID(self),"in:Error %d",errno);
|
||||
return iRet;
|
||||
}
|
||||
if (*self->replyTerminator != 0) {
|
||||
@ -220,6 +238,7 @@ int readRS232TillTerm(prs232 self, void *data, int *datalen)
|
||||
} else {
|
||||
*datalen = iRet;
|
||||
}
|
||||
traceIO(MakeID(self),"in:%s",(char *)data);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -343,11 +362,14 @@ int transactRS232(prs232 self, void *send, int sendLen,
|
||||
}
|
||||
}
|
||||
if (iRet == 0) {
|
||||
traceIO(MakeID(self),"in:%s", "TIMEOUT");
|
||||
return TIMEOUT;
|
||||
} else if (iRet == -1) {
|
||||
traceIO(MakeID(self),"in:%s:%d", "Incomplete read", errno);
|
||||
return INCOMPLETE;
|
||||
} else {
|
||||
return iRet;
|
||||
traceIO(MakeID(self),"in:%s", (char *)reply);
|
||||
return iRet;
|
||||
}
|
||||
}
|
||||
|
||||
@ -439,6 +461,8 @@ int initRS232WithFlags(prs232 self, int flags)
|
||||
|
||||
assert(self);
|
||||
|
||||
traceIO(MakeID(self),"connect");
|
||||
|
||||
if (self->pSock != NULL) {
|
||||
if (pServ->pReader != NULL) {
|
||||
NetReadRemoveUserSocket(pServ->pReader, self->pSock->sockid);
|
||||
|
Reference in New Issue
Block a user