myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

C Signal Handler

Willkommen

myGully

Links

Forum

 
 
 
Themen-Optionen Ansicht
Prev Vorheriger Beitrag   Nächster Beitrag Next
Ungelesen 28.06.12, 14:03   #1
Huugo
Anfänger
 
Registriert seit: Jul 2010
Beiträge: 2
Bedankt: 0
Huugo ist noch neu hier! | 0 Respekt Punkte
Standard C Signal Handler

Hallo Leute

Ich muss ein C Programm schreiben welches folge Aufgabenstellung erfüllt (Umgebung Unix(Free BSD)):

Signal–Handling (Signale küunstlich erzeugen)
Benutzen Sie Ihr Programm sigtest2 als Grundlage für ein Programm sigtest3, das
mit einem erhöhten Parameter für sleep() arbeitet, um vier der in der Vorlesung
angegebenen Signale zu simulieren. Hierbei bedeutet Simulieren nicht, dass mit Hilfe
von kill oder kill() die jeweilige Signalnummer erzeugt wird. Vielmehr sollen beim
Ablauf des Programms sigtest die Bedingungen erzeugt werden, die zum Senden des
Signals führen, etwa dass ein Alarmtimer abläuft (siehe alarm(3)).


Code von sigtest2.c


Wollte folgende Signale produzieren:
  • SIGALRM
  • SIDCHLD
  • SIGFPE
  • SIGSEGV

Das auslösen der Signale ist in erster Linie nicht mein Problem, sondern ich kann das Signal SIGCHLD und das Signal SIGALRM ohne probleme auslösen.
wenn ich nun noch das Signal SIGFPE oder SIGSEGV auslöse, bekomme ich eine Endlosschleife. Unterbreche ich diese mittels " signal(signo,SIG_IGN)" beendet sich mein programm.

Hat von euch jemand eine idee was ich noch tun kann um alle 4 Signale hinter einander Abzufeuern ohne das sich das Programm beendet oder in eine Endlosschleife gerät?

Schon mal danke im vorraus.

Gruß Huugo
Huugo ist offline   Mit Zitat antworten
 


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:34 Uhr.


Sitemap

().