int main(int argc, char **argv)
{
    char buf[10];
    setSignalAction();
    startThread();

    while (!getExitApp()) {
        
        printf("Press return to start recording.\n");
        getchar();
        setRun(1);
        pthread_barrier_wait(&startBarrier);
        
        printf("Press return to end recording.\n");
        getchar();
        setRun(0);
        pthread_barrier_wait(&endBarrier);
        
        printf("Recording stopped.\n");
    }
    
    joinThread();

    return 0;
}
Ejemplo n.º 2
0
std::pair<int, SignalAction> setSignalAction(const uint8_t signalNumber, const SignalAction& signalAction)
{
	const auto signalsReceiverControlBlock =
			scheduler::getScheduler().getCurrentThreadControlBlock().getSignalsReceiverControlBlock();
	if (signalsReceiverControlBlock == nullptr)
		return {ENOTSUP, {}};

	architecture::InterruptMaskingLock interruptMaskingLock;
	return signalsReceiverControlBlock->setSignalAction(signalNumber, signalAction);
}