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:
Douglas Clowes
2007-03-28 12:19:10 +10:00
parent 3df6a5a8da
commit d738cb36b0
3 changed files with 28 additions and 3 deletions

21
nread.c
View File

@@ -292,7 +292,12 @@ extern int VerifyChannel(mkChannel *self); /* defined in network.c */
if(strlen(pItem->pHold) > 0)
{
strcat(pItem->pHold,pPtr);
iStat = CostaTop(pItem->pCon->pStack,pItem->pHold);
/* 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)
{
SCWrite(pItem->pCon,"ERROR: Busy",eError);
@@ -302,7 +307,12 @@ extern int VerifyChannel(mkChannel *self); /* defined in network.c */
else
{
/* no, normal command */
iStat = CostaTop(pItem->pCon->pStack,pPtr);
/* 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)
{
SCWrite(pItem->pCon,"ERROR: Busy",eError);
@@ -515,7 +525,12 @@ extern int VerifyChannel(mkChannel *self); /* defined in network.c */
break;
case '\r':
case '\n':
iStat = CostaTop(pItem->pCon->pStack,pItem->pHold);
/* 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)
{