1
0
mirror of https://github.com/Ylianst/MeshAgent synced 2025-12-16 00:03:45 +00:00

Fixed timeout, for child_process.waitExit()

This commit is contained in:
Bryan Roe
2020-05-07 22:19:49 -07:00
parent 7dc8ee4ef4
commit dd0cd1af85
2 changed files with 14 additions and 3 deletions

View File

@@ -2187,6 +2187,7 @@ ILibExportMethod void ILibChain_Continue(void *Chain, ILibChain_Link **modules,
ILibChain_Link *module;
int slct = 0, vX = 0, mX = 0;
struct timeval tv;
struct timeval startTime;
fd_set readset;
fd_set errorset;
fd_set writeset;
@@ -2198,16 +2199,25 @@ ILibExportMethod void ILibChain_Continue(void *Chain, ILibChain_Link **modules,
root->continuationState = ILibChain_ContinuationState_CONTINUE;
currentNode = root->node;
gettimeofday(&tv, NULL);
gettimeofday(&startTime, NULL);
ILibRemoteLogging_printf(ILibChainGetLogger(chain), ILibRemoteLogging_Modules_Microstack_Generic, ILibRemoteLogging_Flags_VerbosityLevel_1, "ContinueChain...");
while (root->TerminateFlag == 0 && root->continuationState == ILibChain_ContinuationState_CONTINUE)
{
if (maxTimeout > 0)
{
gettimeofday(&tv, NULL);
if (tv.tv_sec < (startTime.tv_sec + maxTimeout / 1000))
{
root->continuationState = ILibChain_ContinuationState_END_CONTINUE;
break;
}
}
slct = 0;
FD_ZERO(&readset);
FD_ZERO(&errorset);
FD_ZERO(&writeset);
tv.tv_sec = UPNP_MAX_WAIT;
tv.tv_sec = maxTimeout < 0 ? UPNP_MAX_WAIT : maxTimeout/1000;
tv.tv_usec = 0;
//