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

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

2.4 Signale 63<br />

7<br />

8 void signal_handler( int sig )<br />

9 {<br />

10 switch( sig )<br />

11 {<br />

12 case SIGINT:<br />

13 printf( "Habe Signal SIGINT erhalten ...\n" );<br />

14 break;<br />

15 case SIGALRM:<br />

16 printf( "Habe Signal SIGALRM erhalten ...\n" );<br />

17 break;<br />

18 default:<br />

19 break;<br />

20 }<br />

21 }<br />

22<br />

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

24 {<br />

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

26 char eingabe[20];<br />

27 struct sigaction action , old_action;<br />

28<br />

29 action.sa_handler = signal_handler;<br />

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

31 action.sa_flags = 0;<br />

32<br />

33 if( sigaction( SIGINT , &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 if( sigaction( SIGALRM , &action , &old_action ) < 0 )<br />

41 {<br />

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

43 strerror( errno ) );<br />

44 return( EXIT_FAILURE );<br />

45 }<br />

46<br />

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

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

49<br />

50 alarm( 20 );<br />

51<br />

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

53 {<br />

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

55 return( EXIT_FAILURE );

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!