// backLog: String containing the endpoint (3, 4, & 5)
bool ZeroMQHandler::setSlotBackLog(const Basic::Integer* const msg)
{
   // Save the connection back log count for use in the initialization
   // of the socket
   bool ok = false;
   if (msg != nullptr) ok = setBackLog(*msg);
   return ok;
}
int LocalWorkerConfig::config(const XmlNode *pNode)
{
    ServerProcessConfig &procConfig = ServerProcessConfig::getInstance();
    int selfManaged;
    int instances;
    int backlog = ConfigCtx::getCurConfigCtx()->getLongValue(pNode, "backlog",
                  1, 100, 10);
    int priority = ConfigCtx::getCurConfigCtx()->getLongValue(pNode,
                   "priority", -20, 20, procConfig.getPriority() + 1);

    if (priority > 20)
        priority = 20;

    if (priority < procConfig.getPriority())
        priority = procConfig.getPriority();

    long l = ConfigCtx::getCurConfigCtx()->getLongValue(pNode,
             "extMaxIdleTime", -1, INT_MAX, INT_MAX);

    if (l == -1)
        l = INT_MAX;

    setPriority(priority);
    setBackLog(backlog);
    setMaxIdleTime(l);


    int umakeVal = ConfigCtx::getCurConfigCtx()->getLongValue(pNode, "umask",
                   000, 0777, procConfig.getUMask(), 8);
    setUmask(umakeVal);

    setRunOnStartUp(ConfigCtx::getCurConfigCtx()->getLongValue(pNode,
                    "runOnStartUp", 0, 2, 0));

    RLimits limits;
    if (ExtAppRegistry::getRLimits() != NULL)
        limits = *(ExtAppRegistry::getRLimits());
    limits.setCPULimit(RLIM_INFINITY, RLIM_INFINITY);
    LocalWorker::configRlimit(&limits, pNode);
    setRLimits(&limits);
    Env *pEnv = getEnv();

    if (pEnv->find("PATH") == NULL)
        pEnv->add("PATH=/bin:/usr/bin");
    instances = ConfigCtx::getCurConfigCtx()->getLongValue(pNode, "instances",
                1, INT_MAX, 1);

    if (instances > 2000)
        instances = 2000;

    if (instances >
        HttpServerConfig::getInstance().getMaxFcgiInstances())
    {
        instances = HttpServerConfig::getInstance().getMaxFcgiInstances();
        LS_WARN(ConfigCtx::getCurConfigCtx(),
                "<instances> is too large, use default max:%d",
                instances);
    }
    setInstances(instances);
    selfManaged = checkExtAppSelfManagedAndFixEnv();
    setSelfManaged(selfManaged);
    if ((instances != 1) &&
        (getMaxConns() > instances))
    {
        LS_NOTICE(ConfigCtx::getCurConfigCtx(),
                  "Possible mis-configuration: 'Instances'=%d, "
                  "'Max connections'=%d, unless one Fast CGI process is "
                  "capable of handling multiple connections, "
                  "you should set 'Instances' greater or equal to "
                  "'Max connections'.", instances, getMaxConns());
        setMaxConns(instances);
    }

    RLimits *pLimits = getRLimits();
#if defined(RLIMIT_NPROC)
    int mini_nproc = (3 * getMaxConns() + 50)
                     * HttpServerConfig::getInstance().getChildren();
    struct rlimit   *pNProc = pLimits->getProcLimit();

    if (((pNProc->rlim_cur > 0) && ((int) pNProc->rlim_cur < mini_nproc))
        || ((pNProc->rlim_max > 0) && ((int) pNProc->rlim_max < mini_nproc)))
    {
        LS_NOTICE(ConfigCtx::getCurConfigCtx(),
                  "'Process Limit' probably is too low, "
                  "adjust the limit to: %d.", mini_nproc);
        pLimits->setProcLimit(mini_nproc, mini_nproc);
    }

#endif

    return 0;
}