Originariamente inviato da /dev/null
Non ci sto capendo più niente
Sto facendo un programma che agisce in questo modo:
si connette a internet e quando riceve una richiesta crea un figlio con la funzione fork, ed il padre continua ad accettare richieste...
Alla morte del figlio, il padre deve intraprendere qualche azione particolare?

Come faccio però a vedere quando il figlio muore, senza far bloccare il padre?
O installi un signal handler o fai un giro di polling con waitpid.
Potresti iniziare cosi` (attenzione: codice stilisticamente discutibile e non testato):

codice:
while ( 1 ) {
        pid_t child_pid
	// ... attendo la connessione
	
	// creo il figlio
	pid = fork();
	
	if ( pid < 0 ) {
		printf ( "Impossibile creare un figlio: %s.\n", strerror ( pid ) );
	}
	
	if ( pid  == 0 ) { // figlio
		// ...
	}
	
	// ora devo verificare la morte del figlio, ma come???
      
      do {
          child_pid = waitpid(-1, NULL, WNOHANG);
      } while (child_pid > 0);
      if (child_pid < 0) {
          perror ("waitpid");
      }
}