Implement task priorities and message queues
This commit is contained in:
16
nread.c
16
nread.c
@@ -224,9 +224,9 @@ static int NetReadAccept(pNetRead self, mkChannel * pSock)
|
||||
} else {
|
||||
/* register the connection and create a task for it here */
|
||||
NetReadRegister(self, pNew, command, pRes);
|
||||
TaskRegister(self->pMain->pTasker,
|
||||
TaskRegisterN(self->pMain->pTasker, "NetReadAccept",
|
||||
SCTaskFunction,
|
||||
SCSignalFunction, SCDeleteConnection, pRes, 1);
|
||||
SCSignalFunction, SCDeleteConnection, pRes, TASK_PRIO_LOW);
|
||||
SCSendOK(pRes);
|
||||
return 1;
|
||||
}
|
||||
@@ -377,8 +377,8 @@ static int TelnetAccept(pNetRead self, mkChannel * pSock)
|
||||
/* register connection and task */
|
||||
pRes->iTelnet = 1;
|
||||
NetReadRegister(self, pNew, tcommand, pRes);
|
||||
TaskRegister(self->pMain->pTasker,
|
||||
TelnetTask, TelnetSignal, DeleteTelnet, pTel, 1);
|
||||
TaskRegisterN(self->pMain->pTasker," TelnetAccept",
|
||||
TelnetTask, TelnetSignal, DeleteTelnet, pTel, TASK_PRIO_LOW);
|
||||
return 1;
|
||||
}
|
||||
} else {
|
||||
@@ -896,8 +896,8 @@ int NetReadWait4Data(pNetRead self, int iSocket)
|
||||
pNew->pChan = pChan;
|
||||
pNew->iEnd = 0;
|
||||
pNew->pRead = self;
|
||||
lID = TaskRegister(self->pMain->pTasker,
|
||||
Wait4ReadTask, ReadWaitSignal, ReadWaitFree, pNew, 0);
|
||||
lID = TaskRegisterN(self->pMain->pTasker, "NetReadWait4Data",
|
||||
Wait4ReadTask, ReadWaitSignal, ReadWaitFree, pNew, TASK_PRIO_HIGH);
|
||||
|
||||
/* wait for finish */
|
||||
TaskWait(self->pMain->pTasker, lID);
|
||||
@@ -1127,7 +1127,7 @@ static int CommandAcceptCB(int handle, void *userData)
|
||||
TaskRegisterN(pServ->pTasker,
|
||||
buffer,
|
||||
SCTaskFunction,
|
||||
SCSignalFunction, SCDeleteConnection, pCon, 1);
|
||||
SCSignalFunction, SCDeleteConnection, pCon, TASK_PRIO_LOW);
|
||||
ANETsetReadCallback(handle, CommandDataCB, usData, killCommandCBData);
|
||||
SCSendOK(pCon);
|
||||
return 1;
|
||||
@@ -1343,7 +1343,7 @@ static int TelnetAcceptCB(int handle, void *userData)
|
||||
snprintf(buffer,sizeof(buffer),"con%ld", pCon->ident);
|
||||
TaskRegisterN(pServ->pTasker,
|
||||
buffer,
|
||||
TelnetTask, TelnetSignal, DeleteTelnet, pTel, 1);
|
||||
TelnetTask, TelnetSignal, DeleteTelnet, pTel, TASK_PRIO_LOW);
|
||||
ANETsetReadCallback(handle, ANETTelnetProcess,
|
||||
usData, killCommandCBData);
|
||||
SCSendOK(pCon);
|
||||
|
||||
Reference in New Issue
Block a user