Make command queue addition depend on connection protocol. Only reject for protocol zero.
r1732 | dcl | 2007-03-28 12:19:10 +1000 (Wed, 28 Mar 2007) | 2 lines
This commit is contained in:
9
costa.c
9
costa.c
@@ -113,10 +113,12 @@
|
||||
assert(self);
|
||||
|
||||
/* check for lock */
|
||||
#if 0 /* DFC */
|
||||
if(self->iLock)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
/* check Size */
|
||||
if(self->iCount >= self->iMaxSize)
|
||||
{
|
||||
@@ -146,10 +148,12 @@
|
||||
assert(self);
|
||||
|
||||
/* check for lock */
|
||||
#if 0 /* DFC */
|
||||
if(self->iLock)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
/* do not want 0 commands */
|
||||
if(strlen(pCommand) < 1)
|
||||
@@ -195,4 +199,9 @@
|
||||
{
|
||||
self->iLock = 0;
|
||||
}
|
||||
/*--------------------------------------------------------------------------*/
|
||||
int CostaLocked(pCosta self)
|
||||
{
|
||||
return self->iLock;
|
||||
}
|
||||
|
||||
|
||||
1
costa.h
1
costa.h
@@ -25,5 +25,6 @@
|
||||
/*----------------------------------------------------------------------*/
|
||||
void CostaLock(pCosta self);
|
||||
void CostaUnlock(pCosta self);
|
||||
int CostaLocked(pCosta self);
|
||||
|
||||
#endif
|
||||
|
||||
15
nread.c
15
nread.c
@@ -292,6 +292,11 @@ extern int VerifyChannel(mkChannel *self); /* defined in network.c */
|
||||
if(strlen(pItem->pHold) > 0)
|
||||
{
|
||||
strcat(pItem->pHold,pPtr);
|
||||
/* DFC locking for protocol zero only */
|
||||
if (pItem->pCon->iProtocolID == 0 &&
|
||||
CostaLocked(pItem->pCon->pStack))
|
||||
iStat == 0;
|
||||
else
|
||||
iStat = CostaTop(pItem->pCon->pStack,pItem->pHold);
|
||||
if(!iStat)
|
||||
{
|
||||
@@ -302,6 +307,11 @@ extern int VerifyChannel(mkChannel *self); /* defined in network.c */
|
||||
else
|
||||
{
|
||||
/* no, normal command */
|
||||
/* DFC locking for protocol zero only */
|
||||
if (pItem->pCon->iProtocolID == 0 &&
|
||||
CostaLocked(pItem->pCon->pStack))
|
||||
iStat == 0;
|
||||
else
|
||||
iStat = CostaTop(pItem->pCon->pStack,pPtr);
|
||||
if(!iStat)
|
||||
{
|
||||
@@ -515,6 +525,11 @@ extern int VerifyChannel(mkChannel *self); /* defined in network.c */
|
||||
break;
|
||||
case '\r':
|
||||
case '\n':
|
||||
/* DFC locking for protocol zero only */
|
||||
if (pItem->pCon->iProtocolID == 0 &&
|
||||
CostaLocked(pItem->pCon->pStack))
|
||||
iStat == 0;
|
||||
else
|
||||
iStat = CostaTop(pItem->pCon->pStack,pItem->pHold);
|
||||
/* printf("%s\n",pItem->pHold); */
|
||||
if(!iStat)
|
||||
|
||||
Reference in New Issue
Block a user