Exemplo n.º 1
0
One<SlaveProcess> StartProcess(const char *cmdline, const char *envptr, int timeout)
{
    if(*cmdline != '(')
        return StartLocalProcess(cmdline, envptr);
    const char *b = cmdline + 1, *p = b;
    while(*p && *p != ')' && *p != ':')
        p++;
    String host(b, p);
    int port = 0;
    if(*p == ':')
        port = stou(p + 1, &p);
    while(*p && *p++ != ')')
        ;
    if(*p == 0)
        throw Exc(NFormat(t_("Missing command line (host = %s)."), host));
    One<RemoteSlaveProcess> rsp = new RemoteSlaveProcess(host, port, p, envptr, timeout);
    return rsp.Detach();
}