linux-sysprog · beginner · ~15 min
Understand that standard signals can be coalesced.
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.
Implement int signals_lost(int sent, int delivered) that returns how many sent signals never got delivered.
sent: number of signals sent.delivered: number actually delivered.sent - delivered, floored at 0.
signals_lost(5, 2) -> 3
signals_lost(3, 3) -> 0
signals_lost(1, 4) -> 0 (never negative)
delivered >= sent: return 0 (never negative).sent: signals sent; delivered: signals delivered.
sent - delivered, floored at 0.
Result is never negative.
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.