Portál AbcLinuxu, 14. května 2024 22:04


Dotaz: freepascal - spouštění proc v pravidelných intervalech

22.6.2006 14:01 kutom | skóre: 1
freepascal - spouštění proc v pravidelných intervalech
Přečteno: 71×
Odpovědět | Admin
Prosím, poradí mi někdo? Potřebuji ve freePascalu nějak udělat to, aby se mi v pravidelných časových intervalech spouštěla jedna procedura. V dosu jsem to řešil pomocí SetIntVec, ale v Linuxu to nefunguje. Prostě nějaký timer, který by spouštěl určitý kód. Možná mi poradíte, ať to udělám v C, ale to neovládám, potřeboval bych to ve fp. Díky moc za každé nakopnutí správným směrem.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

22.6.2006 14:24 alex
Rozbalit Rozbalit vše Re: freepascal
Odpovědět | | Sbalit | Link | Blokovat | Admin
Resil bych to asi pomoci unitu Linux, konkretne funkce alarm.
22.6.2006 15:27 kutom | skóre: 1
Rozbalit Rozbalit vše Re: freepascal
Díky, to je přesně to co jsem potřeboval.
23.6.2006 06:07 kutom | skóre: 1
Rozbalit Rozbalit vše Re: freepascal
Tak jsem to zkoušel a moje nadšení bylo předčasné :-) Alarm funguje hezky, ale jenom jednou. Program dostane signál a tím to končí. Já bych to potřeboval pravidelně opakovat.
23.6.2006 07:42 blondak | skóre: 36 | blog: Blondak | Čáslav
Rozbalit Rozbalit vše Re: freepascal
A co v té proceduře zkusit nastavit ten alarm zvonu?
Každý problém ma své logické, snadno pochopitelné nesprávné řešení.
23.6.2006 08:02 kutom | skóre: 1
Rozbalit Rozbalit vše Re: freepascal
To jsem zkoušel, ale pak to počká ještě jednou a pak ten program skončí, aniž bych ho sám ukončil.
23.6.2006 08:17 kutom | skóre: 1
Rozbalit Rozbalit vše Re: freepascal - spouštění proc v pravidelných intervalech
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak jsem udělal to co jsem nechtěl :-) Použil jsem C. Tam ten SIGALARM funguje podle očekávání.
23.6.2006 08:23 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: freepascal - spouštění proc v pravidelných intervalech
Což o to, SIGALRM se chová podle očekávání. Problém je podle mého odhadu v tom, že po prvním zpracování signálu se obnovil defaultní handler (který způsobuje ukončení procesu) a druhé volání funkce alarm() z nějakých důvodů nenastavilo znovu ten svůj. Ale to byste se musel podívat do zdrojáků, jak FPC implementuje ten svůj alarm().

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.