Example #1
0
void *VRBRAINScheduler::_io_thread(void *arg)
{
    VRBRAINScheduler *sched = (VRBRAINScheduler *)arg;

    while (!sched->_hal_initialized) {
        poll(NULL, 0, 1);
    }
    while (!_vrbrain_thread_should_exit) {
        poll(NULL, 0, 1);

        // run registered IO processes
        perf_begin(sched->_perf_io_timers);
        sched->_run_io();
        perf_end(sched->_perf_io_timers);
    }
    return NULL;
}
Example #2
0
void *VRBRAINScheduler::_io_thread(void *arg)
{
    VRBRAINScheduler *sched = (VRBRAINScheduler *)arg;

    pthread_setname_np(pthread_self(), "apm_io");

    while (!sched->_hal_initialized) {
        poll(nullptr, 0, 1);
    }
    while (!_vrbrain_thread_should_exit) {
        sched->delay_microseconds_semaphore(1000);

        // run registered IO processes
        perf_begin(sched->_perf_io_timers);
        sched->_run_io();
        perf_end(sched->_perf_io_timers);
    }
    return nullptr;
}