1
0
mirror of https://github.com/mariadb-corporation/mariadb-columnstore-engine.git synced 2025-07-30 19:23:07 +03:00

Added _exit in Child dmlproc service

This commit is contained in:
Leonid Fedorov
2021-05-28 10:09:35 +00:00
parent 90397dfed0
commit d08eff75ba
3 changed files with 12 additions and 11 deletions

View File

@ -651,8 +651,8 @@ int ServiceDMLProc::Child()
#else
(void)::system(cmd.c_str());
#endif
}
catch (...)
{
@ -684,10 +684,8 @@ int ServiceDMLProc::Child()
setupChildSignalHandlers();
dmlserver.start();
_exit(dmlserver.start());
// WIP the rc looks misguiding b/c DMLProc now can legitimately quits from DMLServer::start()
// so Child() should return dmlserver.start().
return 1;
}

View File

@ -413,7 +413,7 @@ int PackageHandler::synchTableAccess(dmlpackage::CalpontDMLPackage* dmlPackage)
msg.format(args1);
logging::Logger logger(logid.fSubsysID);
logger.logMessage(LOG_TYPE_DEBUG, msg, logid);
tableOidCond.wait(lock);
// In case of CTRL+C, the tableOidQueue could be invalidated
if ((tableOidMap.find(fTableOid))->second != tableOidQueue)
@ -545,7 +545,7 @@ void PackageHandler::run()
unsigned DMLLoggingId = 21;
oam::OamCache* oamCache = oam::OamCache::makeOamCache();
SynchTable synchTable;
try
{
switch ( fPackageType )
@ -1179,7 +1179,7 @@ void PackageHandler::rollbackPending()
// Force a release of the processing from MCOL-140
#ifdef MCOL_140
if (fConcurrentSupport)
if (fConcurrentSupport)
{
// MCOL-140 We're not necessarily the next in line.
// This forces this thread to be released anyway.
@ -1213,7 +1213,7 @@ DMLServer::DMLServer(int packageMaxThreads, int packageWorkQueueSize, DBRM* dbrm
fDmlPackagepool.setName("DmlPackagepool");
}
void DMLServer::start()
int DMLServer::start()
{
messageqcpp::IOSocket ios;
uint32_t nextID = 1;
@ -1246,6 +1246,7 @@ void DMLServer::start()
}
cancelThread.join();
return EXIT_SUCCESS;
}
catch (std::exception& ex)
{
@ -1258,6 +1259,7 @@ void DMLServer::start()
message.format(args);
logging::Logger logger(lid.fSubsysID);
logger.logMessage(logging::LOG_TYPE_CRITICAL, message, lid);
return EXIT_FAILURE;
}
catch (...)
{
@ -1269,6 +1271,7 @@ void DMLServer::start()
message.format(args);
logging::Logger logger(lid.fSubsysID);
logger.logMessage(logging::LOG_TYPE_CRITICAL, message, lid);
return EXIT_FAILURE;
}
}

View File

@ -112,7 +112,7 @@ public:
~DMLServer() { }
void start(); //Does not return
int start();
/** @brief get the dml package thread pool size
*/
@ -250,7 +250,7 @@ public:
fphp->releaseTableAccess();
}
bool setPackage(PackageHandler* php, dmlpackage::CalpontDMLPackage* dmlPackage)
{
{
if (fphp)
fphp->releaseTableAccess();
fphp = php;