Skip to content

Commit

Permalink
use STAT_BackEnd.C factory method
Browse files Browse the repository at this point in the history
  • Loading branch information
John Vogt committed Jun 29, 2021
1 parent ffe6dc9 commit 7e09ce7
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 44 deletions.
40 changes: 20 additions & 20 deletions src/STATBenchD.C
Original file line number Diff line number Diff line change
Expand Up @@ -74,18 +74,17 @@ int main(int argc, char **argv)
}
}

statError = statInit(&argc, &argv, launchType);
if (statError != STAT_OK)
statBackEnd = STAT_BackEnd::make(launchType);
if (!statBackEnd)
{
fprintf(stderr, "Failed to initialize STAT\n");
return statError;
fprintf(stderr, "Failed to create STAT backend\n");
return STAT_ALLOCATE_ERROR;
}

statBackEnd = new STAT_BackEnd(launchType);
statError = statBackEnd->init();

statError = statBackEnd->init(&argc, &argv);
if (statError != STAT_OK)
{
fprintf(stderr, "Failed to initialize STAT_BackEnd object\n");
fprintf(stderr, "Failed to initialize STAT\n");
return statError;
}

Expand All @@ -98,14 +97,14 @@ int main(int argc, char **argv)
{
case 'h':
printf("STATD-%d.%d.%d\n", STAT_MAJOR_VERSION, STAT_MINOR_VERSION, STAT_REVISION_VERSION);
statBackEnd->finalize();
delete statBackEnd;
statFinalize(launchType);
return 0;
break;
case 'V':
printf("STATD-%d.%d.%d\n", STAT_MAJOR_VERSION, STAT_MINOR_VERSION, STAT_REVISION_VERSION);
statBackEnd->finalize();
delete statBackEnd;
statFinalize(launchType);
return 0;
break;
case 'o':
Expand All @@ -124,8 +123,8 @@ int main(int argc, char **argv)
else
{
statBackEnd->printMsg(STAT_ARG_ERROR, __FILE__, __LINE__, "Log option must equal BE, SW, SWERR, you entered %s\n", optarg);
statBackEnd->finalize();
delete statBackEnd;
statFinalize(launchType);
return STAT_ARG_ERROR;
}
break;
Expand All @@ -138,13 +137,13 @@ int main(int argc, char **argv)
break;
case '?':
statBackEnd->printMsg(STAT_ARG_ERROR, __FILE__, __LINE__, "Unknown option %c\n", opt);
statBackEnd->finalize();
delete statBackEnd;
statFinalize(launchType);
return STAT_ARG_ERROR;
default:
statBackEnd->printMsg(STAT_ARG_ERROR, __FILE__, __LINE__, "Unknown option %c\n", opt);
statBackEnd->finalize();
delete statBackEnd;
statFinalize(launchType);
return STAT_ARG_ERROR;
}; /* switch(opt) */
} /* while(1) */
Expand All @@ -155,8 +154,8 @@ int main(int argc, char **argv)
if (statError != STAT_OK)
{
statBackEnd->printMsg(statError, __FILE__, __LINE__, "Failed Start debug log\n");
statBackEnd->finalize();
delete statBackEnd;
statFinalize(launchType);
return statError;
}
}
Expand All @@ -168,45 +167,46 @@ int main(int argc, char **argv)
if (statError != STAT_OK)
{
statBackEnd->printMsg(statError, __FILE__, __LINE__, "Failed to connect BE\n");
statBackEnd->finalize();
delete statBackEnd;
statFinalize(launchType);
return statError;
}

statError = statBackEnd->mainLoop();
if (statError != STAT_OK)
{
statBackEnd->printMsg(statError, __FILE__, __LINE__, "Failure in STAT BE main loop\n");
statBackEnd->finalize();
delete statBackEnd;
statFinalize(launchType);
return statError;
}
}
else
{
/* We're the STATBench helper daemon */
statError = statBackEnd->initLmon();
statError = statBackEnd->initLauncher();
if (statError != STAT_OK)
{
statBackEnd->printMsg(statError, __FILE__, __LINE__, "Failed to initialize BE\n");
statBackEnd->finalize();
delete statBackEnd;
statFinalize(launchType);
return statError;
}

statError = statBackEnd->statBenchConnectInfoDump();
if (statError != STAT_OK)
{
statBackEnd->printMsg(statError, __FILE__, __LINE__, "Failed to dump connection info\n");
statBackEnd->finalize();
delete statBackEnd;
statFinalize(launchType);
return statError;
}
}


statError = statBackEnd->finalize();
delete statBackEnd;

statError = statFinalize(launchType);
if (statError != STAT_OK)
{
fprintf(stderr, "Failed to finalize LMON\n");
Expand Down
42 changes: 18 additions & 24 deletions src/STATD.C
Original file line number Diff line number Diff line change
Expand Up @@ -84,15 +84,8 @@ int main(int argc, char **argv)
}
}

statError = statInit(&argc, &argv, launchType);
if (statError != STAT_OK)
{
fprintf(stderr, "Failed to initialize STAT\n");
return statError;
}

statBackEnd = new STAT_BackEnd(launchType);
statError = statBackEnd->init();
statBackEnd = STAT_BackEnd::make(launchType);
statError = statBackEnd->init(&argc, &argv);
if (statError != STAT_OK)
{
fprintf(stderr, "Failed to initialize STAT_BackEnd object\n");
Expand All @@ -111,14 +104,14 @@ int main(int argc, char **argv)
{
case 'h':
printf("STATD-%d.%d.%d\n", STAT_MAJOR_VERSION, STAT_MINOR_VERSION, STAT_REVISION_VERSION);
statBackEnd->finalize();
delete statBackEnd;
statFinalize(launchType);
return 0;
break;
case 'V':
printf("STATD-%d.%d.%d\n", STAT_MAJOR_VERSION, STAT_MINOR_VERSION, STAT_REVISION_VERSION);
statBackEnd->finalize();
delete statBackEnd;
statFinalize(launchType);
return 0;
break;
case 'o':
Expand All @@ -140,8 +133,8 @@ int main(int argc, char **argv)
else
{
statBackEnd->printMsg(STAT_ARG_ERROR, __FILE__, __LINE__, "Log option must equal BE, SW, SWERR, you entered %s\n", optarg);
statBackEnd->finalize();
delete statBackEnd;
statFinalize(launchType);
return STAT_ARG_ERROR;
}
break;
Expand All @@ -161,8 +154,8 @@ int main(int argc, char **argv)
if (statError != STAT_OK)
{
statBackEnd->printMsg(statError, __FILE__, __LINE__, "Failed to initialize GDB BE\n", optarg);
statBackEnd->finalize();
delete statBackEnd;
statFinalize(launchType);
return statError;
}
#endif
Expand All @@ -178,14 +171,14 @@ int main(int argc, char **argv)
case '?':
statBackEnd->printMsg(STAT_ARG_ERROR, __FILE__, __LINE__, "Unknown option %c\n", opt);
statBackEnd->printMsg(STAT_ARG_ERROR, __FILE__, __LINE__, "STATD invoked with %s\n", invocationString.c_str());
statBackEnd->finalize();
delete statBackEnd;
statFinalize(launchType);
return STAT_ARG_ERROR;
default:
statBackEnd->printMsg(STAT_ARG_ERROR, __FILE__, __LINE__, "Unknown option %c\n", opt);
statBackEnd->printMsg(STAT_ARG_ERROR, __FILE__, __LINE__, "STATD invoked with %s\n", invocationString.c_str());
statBackEnd->finalize();
delete statBackEnd;
statFinalize(launchType);
return STAT_ARG_ERROR;
}; /* switch(opt) */
} /* while(1) */
Expand All @@ -196,8 +189,8 @@ int main(int argc, char **argv)
if (statError != STAT_OK)
{
statBackEnd->printMsg(statError, __FILE__, __LINE__, "Failed Start debug log\n");
statBackEnd->finalize();
delete statBackEnd;
statFinalize(launchType);
return statError;
}
statBackEnd->printMsg(STAT_LOG_MESSAGE, __FILE__, __LINE__, "STATD invoked with %s\n", invocationString.c_str());
Expand All @@ -211,8 +204,8 @@ int main(int argc, char **argv)
if (statError != STAT_OK)
{
statBackEnd->printMsg(statError, __FILE__, __LINE__, "Failed add serial process %s\n", serialProcesses[j].c_str());
statBackEnd->finalize();
delete statBackEnd;
statFinalize(launchType);
return statError;
}
}
Expand All @@ -222,21 +215,21 @@ int main(int argc, char **argv)
statError = statBackEnd->connect(6, &argv[argc - 6]);
else
{
statError = statBackEnd->initLmon();
statError = statBackEnd->initLauncher();
if (statError != STAT_OK)
{
statBackEnd->printMsg(statError, __FILE__, __LINE__, "Failed to initialize BE\n");
statBackEnd->finalize();
delete statBackEnd;
statFinalize(launchType);
return statError;
}
statError = statBackEnd->connect();
}
if (statError != STAT_OK)
{
statBackEnd->printMsg(statError, __FILE__, __LINE__, "Failed to connect BE\n");
statBackEnd->finalize();
delete statBackEnd;
statFinalize(launchType);
return statError;
}

Expand All @@ -246,20 +239,21 @@ int main(int argc, char **argv)
statBackEnd->printMsg(statError, __FILE__, __LINE__, "Failure in STAT BE main loop\n");
if (statError == STAT_STACKWALKER_ERROR)
statBackEnd->swDebugBufferToFile();
statBackEnd->finalize();
delete statBackEnd;
statFinalize(launchType);
return statError;
}

delete statBackEnd;

statError = statFinalize(launchType);
statError = statBackEnd->finalize();
if (statError != STAT_OK)
{
fprintf(stderr, "Failed to finalize STAT\n");
return statError;
}

delete statBackEnd;


#ifdef DYSECTAPI
sleep(2);
#endif
Expand Down

0 comments on commit 7e09ce7

Please sign in to comment.