Barr Group TwitterBarr Group Vimeo


6.4.a. All functions that encapsulate threads of execution (a.k.a., tasks, processes) shall be given names ending with “_thread” (or “_task”, “_process”).


alarm_thread (void * p_data)
    alarm_t  alarm = ALARM_NONE;
    int	     err   = OS_NO_ERR;

    for (;;)
        alarm = OSMboxPend(alarm_mbox, &err);
        // Process alarm here.

Reasoning: Each task in a real-time operating system (RTOS) is like a mini-main(), typically running forever in an infinite loop. It is valuable to easily identify these important, asynchronous functions during code reviews and debugging sessions.

Enforcement: This rule shall be followed during the detailed design phase and enforced during code reviews.