This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Atomic Operations (continuing on from Masking Interrupts?)


In a message dated 06-Jul-99 05:24:13
   Robert J. Brown <rj@eli.elilabs.com> wrote:

>The fix for this problem is to have a counter that increments on
>disable, and decrements on enable.  The enable routine will only
>actually enable interrupts if the value of the counter is zero.

 This is the way it is on the Amiga AFAIU... There is two levels of it;
Forbid()/Permit() disable/enable the task scheduler, Disable()/Enable() "adds"
interrupt enable/disable, implying the functionality of Forbid()/Permit() too.

 The use of these are ofcurse frowned upon in a multitasking environment, but
on accessing global lists (e.g. the list of available devices/volumes) they
are a must.

 The Amiga for the not initiate; Multitasking (*very* good), single user
(possible to run several users at once though; they share the same space), no
protected memory, requires low amount of resources.

                ,-.
   ,-.         /   \
  /   \       /     \
 /Hannu E K Nevalainen     ,-.
' www.it.kth.se/~henk \   /   `-*                 _ // 1985+
         `-' Nynäshamn `-'  17°56.5'E, 58°54.4'N  \X/Amiga user
Personal rc5-stats: 22,881 2^28-key blks, i.e. 6,142,071+ Mkeys, M68K Amiga.
450Mhz PII/MMX adding 1.1M RC5 & 4.6M DES keys/s to this since end of Dec'98
--
"Windows NT "is an acronym for "Windows? No thanks."

_______________________________________________
New CrossGCC FAQ: http://www.objsw.com/CrossGCC
_______________________________________________
To remove yourself from the crossgcc list, send
mail to crossgcc-request@cygnus.com with the
text 'unsubscribe' (without the quotes) in the
body of the message.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]