05.11.2013 Aufrufe

Zahn - Unix-Netzwerkprogramminerung mit Threads, Sockets und SSL

Zahn - Unix-Netzwerkprogramminerung mit Threads, Sockets und SSL

Zahn - Unix-Netzwerkprogramminerung mit Threads, Sockets und SSL

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

66 2 Programmieren <strong>mit</strong> <strong>Unix</strong>-Prozessen<br />

5 #include <br />

6 #include <br />

7<br />

8 void signal_handler( int sig )<br />

9 {<br />

10 printf( "Ihre Bedenkzeit ist abgelaufen.\n" );<br />

11 exit( EXIT_FAILURE );<br />

12 }<br />

13<br />

14 int main( int argc, char *argv[] )<br />

15 {<br />

16 char antwort[] = "Himbeerjoghurt\n";<br />

17 char eingabe[20];<br />

18 struct sigaction action , old_action;<br />

19<br />

20 action.sa_handler = SIG_IGN;<br />

21 sigemptyset( &action.sa_mask );<br />

22 action.sa_flags = 0;<br />

23<br />

24 if( sigaction( SIGINT , &action , &old_action ) < 0 )<br />

25 {<br />

26 printf( "Konnte Handler nicht installieren: %s.\n",<br />

27 strerror( errno ) );<br />

28 return( EXIT_FAILURE );<br />

29 }<br />

30<br />

31 action.sa_handler = signal_handler;<br />

32<br />

33 if( sigaction( SIGALRM , &action , &old_action ) < 0 )<br />

34 {<br />

35 printf( "Konnte Handler nicht installieren: %s.\n",<br />

36 strerror( errno ) );<br />

37 return( EXIT_FAILURE );<br />

38 }<br />

39<br />

40 printf( "Sie haben 20 Sek<strong>und</strong>en für die Antwort:\n" );<br />

41 printf( "Was ißt Sir Quickly am liebsten?\n" );<br />

42<br />

43 alarm( 20 );<br />

44<br />

45 if( fgets( eingabe , sizeof( eingabe ), stdin ) == NULL )<br />

46 {<br />

47 printf( "Oha: %s ...\n", strerror( errno ) );<br />

48 return( EXIT_FAILURE );<br />

49 }<br />

50<br />

51 if( strcmp( eingabe , antwort ) == 0 )<br />

52 printf( "Die Antwort ist richtig. Gratulation.\n" );<br />

53 else

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!