diff --git a/library/amiga_dotimer.c b/library/amiga_dotimer.c index 75ab5d4..1366948 100644 --- a/library/amiga_dotimer.c +++ b/library/amiga_dotimer.c @@ -1,5 +1,5 @@ /* - * $Id: amiga_dotimer.c,v 1.4 2005-03-18 12:38:21 obarthel Exp $ + * $Id: amiga_dotimer.c,v 1.5 2005-08-31 07:26:13 obarthel Exp $ * * :ts=4 * @@ -67,9 +67,10 @@ DoTimer(struct timeval *tv,LONG unit,LONG command) #if defined(__amigaos4__) { mp = AllocSysObjectTags(ASOT_PORT, - ASOPORT_Action, PA_SIGNAL, - ASOPORT_Signal, SIGB_SINGLE, - ASOPORT_Target, FindTask(NULL), + ASOPORT_Action, PA_SIGNAL, + ASOPORT_AllocSignal, FALSE, + ASOPORT_Signal, SIGB_SINGLE, + ASOPORT_Target, FindTask(NULL), TAG_DONE); if(mp == NULL) @@ -113,7 +114,7 @@ DoTimer(struct timeval *tv,LONG unit,LONG command) PROFILE_OFF(); - SetSignal(0,SIGF_SINGLE); + SetSignal(0,(1UL << mp->mp_SigBit)); error = DoIO((struct IORequest *)tr); diff --git a/library/changes b/library/changes index d7aff86..8bd4e85 100644 --- a/library/changes +++ b/library/changes @@ -39,6 +39,8 @@ was broken due to a misplaced overflow check, which had the cruel effect of triggering for 32 bit integers as well. Fixed. +- DoTimer() did not allocate the local MsgPort correctly. Fixed. + c.lib 1.194 (15.7.2005)