linux-sysprog · beginner · ~15 min

Coalesced signals

Understand that standard signals can be coalesced.

Challenge

Standard signals are tracked as a pending bitmask, not a queue, so repeats that arrive while one is pending collapse into a single delivery. Count how many were dropped.

Task

Implement int signals_lost(int sent, int delivered) that returns how many sent signals never got delivered.

Input

  • sent: number of signals sent.
  • delivered: number actually delivered.

Output

sent - delivered, floored at 0.

Example

signals_lost(5, 2)   ->   3
signals_lost(3, 3)   ->   0
signals_lost(1, 4)   ->   0   (never negative)

Edge cases

  • delivered >= sent: return 0 (never negative).

Input format

sent: signals sent; delivered: signals delivered.

Output format

sent - delivered, floored at 0.

Constraints

Result is never negative.

Starter code

int signals_lost(int sent, int delivered) {
    /* TODO */
    return 0;
}

Solve this exercise in the browser editor — compile and run against the test harness, no setup required.