Example #1
0
void ProcessForker::run()
{
    ReceiveBuffer buffer;

    while (_processMessages)
    {
        const auto result = _communicator.probe();
        if (!result.isValid())
        {
            print_log(LOG_ERROR, LOG_MPI, "Invalid probe result size: %d",
                      result.size);
            continue;
        }

        buffer.setSize(result.size);
        _communicator.receive(result.src, buffer.data(), buffer.size(),
                              int(result.messageType));

        switch (result.messageType)
        {
        case MessageType::START_PROCESS:
        {
            const auto string = serialization::get<QString>(buffer);
            const auto args = string.split('#');
            if (args.length() != 3)
            {
                print_log(LOG_WARN, LOG_MPI, "Invalid command: '%d'",
                          string.toLocal8Bit().constData());
                break;
            }
            _launch(args[0], args[1], args[2].split(';'));
            break;
        }
        case MessageType::QUIT:
            _processMessages = false;
            break;
        default:
            print_log(LOG_WARN, LOG_MPI, "Invalid message type: '%d'",
                      result.messageType);
            break;
        }
    }
}
Example #2
0
 OSS_INLINE INT32 _accept( const _MsgClsElectionBallot *msg )
 {
    return _launch( msg->weights,
                   msg->identity,
                   CLS_ELECTION_ROUND_STAGE_TWO ) ;
 }
Example #3
0
 OSS_INLINE INT32 _announce()
 {
    return _launch( CLS_ELECTION_ROUND_STAGE_TWO ) ;
 }
Example #4
0
 OSS_INLINE INT32 _vote()
 {
    return _launch( CLS_ELECTION_ROUND_STAGE_ONE ) ;
 }
Example #5
0
int
launcher_rvgl::start_client(const std::string &host_id) {
    return _launch(host_id);
}
Example #6
0
int 
launcher_rvgl::start_host() {
    return _launch("");
}
Example #7
0
File: lua.c Project: zhoukk/routine
int lua_init(struct lua *lua, struct pixel *ctx, const char *param) {
	return _launch(ctx, lua, param);
}