Article View: de.comp.sys.amiga.tech
Article #291Re: Timer-Problem
From: Michael van Elst
Date: Sun, 20 Aug 1995 10:45
Date: Sun, 20 Aug 1995 10:45
41 lines
1461 bytes
1461 bytes
Thomas_Boerkel@amiga_inside2.schiele-ct.de (Thomas Boerkel) writes:
>Das Problem ist nun, dass nach AbortIO() und WaitIO()
>das Timer-Signalflag gesetzt wird. D.h. beim naechsten
>Durchlauf ist der Timer sofort fertig. :-(
Das kann passieren. WaitIO() loescht das Flag nur, wenn
es wirklich Wait() aufruft. Wenn der Request schon
fertig ist, dann kommt WaitIO() sofort zurueck.
>Ich behelfe mir jetzt mir SetSignal(), aber da muesste
>es auch eine andere Loesung geben.
Die andere Loesung ist eine Schleife und die Verwendung
von CheckIO.
while (1) {
sigrcvd = Wait(serialmask | timermask);
if (CheckIO(serialIO)) {
WaitIO(timerIO);
AbortIO(timerIO);
WaitIO(timerIO);
break;
}
if (CheckIO(timerIO)) {
WaitIO(timerIO);
AbortIO(serialIO);
WaitIO(serialIO);
break;
}
}
Wenn das Ganze Teil einer Event-Loop ist, dann hast Du
die Schleife schon programmiert. :)
Salut,
--
Michael van Elst
Internet: mlelstv@serpens.rhein.de
"A potential Snark may lurk in every tree."
Technical Details
Message-ID:
<4173p1$lfp@serpens.rhein.de>Path:
arc1-ca.pugleaf.net!comma.rhein.de!serpens!not-for-mailReferences:
<MSGID_2=3A2476=2F541.0=40fidonet_7338E202@fidonet.org>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!comma.rhein.de!serpens!not-for-mail From: mlelstv@serpens.rhein.de (Michael van Elst) Newsgroups: de.comp.sys.amiga.tech Subject: Re: Timer-Problem Date: 20 Aug 1995 12:45:53 +0200 Organization: dis- Message-ID: <4173p1$lfp@serpens.rhein.de> References: <MSGID_2=3A2476=2F541.0=40fidonet_7338E202@fidonet.org> NNTP-Posting-Host: serpens.rhein.de