The variables "[fReopenDebugLog](https://github.com/bitcoin/bitcoin/blob/fa24439ff3d8ab5b9efaf66ef4dae6713b88cb35/src/util.h#L53)" and "[fRequestShutdown](https://github.com/bitcoin/bitcoin/blob/fae78fa81802b5387054715c339f286ef436408e/src/init.cpp#L128)" should [use the data type "sig_atomic_t"](https://www.securecoding.cert.org/confluence/display/c/SIG31-C.+Do+not+access+shared+objects+in+signal+handlers) (instead of "bool").

I reported this issue for [another evolving software](https://github.com/Electric-Coin-Company/zcash/issues/678) before.

nLocalServices |= NODE_BLOOM;
    nMaxTipAge = GetArg("-maxtipage", DEFAULT_MAX_TIP_AGE);
    fEnableReplacement = GetBoolArg("-mempoolreplacement", DEFAULT_ENABLE_REPLACEMENT);
    if ((!fEnableReplacement) && mapArgs.count("-mempoolreplacement")) {
        
        std::string strReplacementModeList = GetArg("-mempoolreplacement", "");  
        std::vector<std::string> vstrReplacementModes;
        boost::split(vstrReplacementModes, strReplacementModeList, boost::is_any_of(","));
        fEnableReplacement = (std::find(vstrReplacementModes.begin(), vstrReplacementModes.end(), "fee") != vstrReplacementModes.end());
    }
    
    
    ECC_Start();
    globalVerifyHandle.reset(new ECCVerifyHandle());
    
    if (!InitSanityCheck())
        return InitError(strprintf(_("Initialization sanity check failed. %s is shutting down."), _(PACKAGE_NAME)));
    std::string strDataDir = GetDataDir().string();
    
    boost::filesystem::path pathLockFile = GetDataDir() / ".lock";
    FILE* file = fopen(pathLockFile.string().c_str(), "a"); 
    if (file) fclose(file);
    try {
        static boost::interprocess::file_lock lock(pathLockFile.string().c_str());
        if (!lock.try_lock())
            return InitError(strprintf(_("Cannot obtain a lock on data directory %s. %s is probably already running."), strDataDir, _(PACKAGE_NAME)));
    } catch(const boost::interprocess::interprocess_exception& e) {
        return InitError(strprintf(_("Cannot obtain a lock on data directory %s. %s is probably already running.") + " %s.", strDataDir, _(PACKAGE_NAME), e.what()));
    }
#ifndef WIN32