LU-LSP-b13:L05
Praktiskais darbs #5
Realizēt programmu, kas beidz darbību, notiekot taimera signālam.
Darbības beigšanu realizēt caur longjmp
uz main()
funkciju, no kuras tad notiek return 0;
.
Izmantojamās funkcijas:
- setjmp()
- longjmp()
- sigaction() (piemērs)
Par signāliem kārtīgi mācīsimies vēlāk! Neliels ieskats, kas var noderēt: [1]
Uzmanību, konkrētais praktiskais darbs nestrādās ar striktu c90/c99 standartu, jo tam nepieciešami POSIX signāli, kas standartā nav iekļauti. Šajā PD atļauts kompilēt ar jaunāko standartu, vai korektāk - izmntot kompilatora slēdzi "-D_POSIX_C_SOURCE"
Koda šablons:
#include <setjmp.h> #include <signal.h> #include <stdio.h> #include <unistd.h> // TODO: jūsu kods te! int main(void) { // TODO: jūsu kods te! // taalaako kodu nemainiit! // taimeris uz 3 sekundeem alarm(3); // bezgaliigs cikls while (1); // atgriezh kaut kaadu nenulles kodu, lai kompilators nesuudzeetos return -1; }
Risinājumus nosūtīt uz lektora e-pastu. iesūtīt estudijas.lu.lv, sadaļā PD5
Iesniedzamais fails jānosauc šādi: LSP_PD5_vards_uzvards.c. Tas nav jāarhivē.
Subject: "LSP PD5 vards uzvards".