PROJECT DOSSIER // [MY_NAVY]VIEW SOURCEBACK TO PROJECTS →

01 // PROJECT AT A GLANCE

MY_NAVY

C

A game of battleship between two processes that communicate only through signals.

Two separate programs face off, and the only allowed means of communication is the most rudimentary Unix mechanism: the signal, a notification that carries no data at all. So you have to invent a protocol to transmit a complete position through « pings » — an extremely constrained and surprisingly satisfying communication exercise.

A two-process game communicating only through SIGUSR1 and SIGUSR2, with binary encoding of the attacked cell over eight signals, and synchronisation by a send-side delay and a blocking pause() on the receiving side.

PRIMARYC
DELIVERY2-PERSON TEAM
VERIFICATIONCriterion
SOURCEINSPECTOR READY
MEDIA ATTACHMENTS (Images, Photos, Videos)

03 // KEY OUTCOMES

  • Inventing a complete protocol with only two symbols
  • Concrete confrontation with race conditions and lost signals
  • Reentrancy constraints inside signal handlers

BEYOND THE BRIEF

  • Three Criterion test files covering attack, redirection and error handling

04 // SOURCE TREE

READING SOURCE…