Commit 970704ca authored by Mihai Moldovan's avatar Mihai Moldovan

nxcomp/src/Loop.cpp: use new log continuation mechanism.

Especially don't flush data out mid-append. Doing so will lead to the next append operation failing. Should fix messages queuing up indefinitely (until they are discarded at program termination, at least) and missing messages in general. Fixes: ArcticaProject/nx-libs#577 Fixes: ArcticaProject/nx-libs#611
parent fe447bb6
...@@ -13449,12 +13449,12 @@ int ParseArg(const char *type, const char *name, const char *value) ...@@ -13449,12 +13449,12 @@ int ParseArg(const char *type, const char *name, const char *value)
case 'm': case 'm':
case 'g': case 'g':
{ {
nxinfo << (char) toupper(*id); nxinfo_append << (char) toupper(*id);
break; break;
} }
} }
nxinfo << ".\n" << std::flush; nxinfo_append << ".\n" << std::flush;
double result = atof(string) * base; double result = atof(string) * base;
...@@ -14028,13 +14028,13 @@ static void handleCheckSelectInLoop(int &setFDs, fd_set &readSet, ...@@ -14028,13 +14028,13 @@ static void handleCheckSelectInLoop(int &setFDs, fd_set &readSet,
{ {
i = 0; i = 0;
nxinfo << "Loop: Selected for read are "; nxinfo << "Loop: Selected for read are";
for (int j = 0; j < setFDs; j++) for (int j = 0; j < setFDs; j++)
{ {
if (FD_ISSET(j, &readSet)) if (FD_ISSET(j, &readSet))
{ {
nxinfo << "[" << j << "]" << std::flush; nxinfo_append << " [" << j << "]";
i++; i++;
} }
...@@ -14042,22 +14042,22 @@ static void handleCheckSelectInLoop(int &setFDs, fd_set &readSet, ...@@ -14042,22 +14042,22 @@ static void handleCheckSelectInLoop(int &setFDs, fd_set &readSet,
if (i > 0) if (i > 0)
{ {
nxinfo << ".\n" << std::flush; nxinfo_append << ".\n" << std::flush;
} }
else else
{ {
nxinfo << "[none].\n" << std::flush; nxinfo_append << "[none].\n" << std::flush;
} }
i = 0; i = 0;
nxinfo << "Loop: Selected for write are "; nxinfo << "Loop: Selected for write are";
for (int j = 0; j < setFDs; j++) for (int j = 0; j < setFDs; j++)
{ {
if (FD_ISSET(j, &writeSet)) if (FD_ISSET(j, &writeSet))
{ {
nxinfo << "[" << j << "]" << std::flush; nxinfo_append << " [" << j << "]";
i++; i++;
} }
...@@ -14065,11 +14065,11 @@ static void handleCheckSelectInLoop(int &setFDs, fd_set &readSet, ...@@ -14065,11 +14065,11 @@ static void handleCheckSelectInLoop(int &setFDs, fd_set &readSet,
if (i > 0) if (i > 0)
{ {
nxinfo << ".\n" << std::flush; nxinfo_append << ".\n" << std::flush;
} }
else else
{ {
nxinfo << "[none].\n" << std::flush; nxinfo_append << "[none].\n" << std::flush;
} }
} }
...@@ -14109,13 +14109,13 @@ static void handleCheckResultInLoop(int &resultFDs, int &errorFDs, int &setFDs, ...@@ -14109,13 +14109,13 @@ static void handleCheckResultInLoop(int &resultFDs, int &errorFDs, int &setFDs,
{ {
i = 0; i = 0;
nxinfo << "Loop: Selected for read are "; nxinfo << "Loop: Selected for read are";
for (int j = 0; j < setFDs; j++) for (int j = 0; j < setFDs; j++)
{ {
if (FD_ISSET(j, &readSet)) if (FD_ISSET(j, &readSet))
{ {
nxinfo << "[" << j << "]" << std::flush; nxinfo_append << " [" << j << "]";
i++; i++;
} }
...@@ -14123,22 +14123,22 @@ static void handleCheckResultInLoop(int &resultFDs, int &errorFDs, int &setFDs, ...@@ -14123,22 +14123,22 @@ static void handleCheckResultInLoop(int &resultFDs, int &errorFDs, int &setFDs,
if (i > 0) if (i > 0)
{ {
nxinfo << ".\n" << std::flush; nxinfo_append << ".\n" << std::flush;
} }
else else
{ {
nxinfo << "[none].\n" << std::flush; nxinfo_append << "[none].\n" << std::flush;
} }
i = 0; i = 0;
nxinfo << "Loop: Selected for write are "; nxinfo << "Loop: Selected for write are";
for (int j = 0; j < setFDs; j++) for (int j = 0; j < setFDs; j++)
{ {
if (FD_ISSET(j, &writeSet)) if (FD_ISSET(j, &writeSet))
{ {
nxinfo << "[" << j << "]" << std::flush; nxinfo_append << " [" << j << "]";
i++; i++;
} }
...@@ -14146,11 +14146,11 @@ static void handleCheckResultInLoop(int &resultFDs, int &errorFDs, int &setFDs, ...@@ -14146,11 +14146,11 @@ static void handleCheckResultInLoop(int &resultFDs, int &errorFDs, int &setFDs,
if (i > 0) if (i > 0)
{ {
nxinfo << ".\n" << std::flush; nxinfo_append << ".\n" << std::flush;
} }
else else
{ {
nxinfo << "[none].\n" << std::flush; nxinfo_append << "[none].\n" << std::flush;
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment