Mail Archives: djgpp/1997/03/21/11:47:48
In article <332C774C DOT 3E2C AT blackmagic DOT tait DOT co DOT nz>, billc AT blackmagic DOT tait DOT co DOT nz wrote:
>Dim Zegebart wrote:
>>
>> Hi,
>> I deeply (I hope so ;) ) study your code dialling with
>> keyboard, mouse and timer. And also I study GUI part.
>> IMHO, it's lack of some messaging system. I already done
>> such a system with my previous work (not with Allegro and DJGPP).
>> Hardware interrupt handlers collect events and put them into
>> FIFO queue (separate queue for each device). And user write
>> functions for each type of hardware (software too) events which called
>> by SendMsg() in DispatchMsg() loop. Also, it's possible to
>> assign a priority level for each queue (what is first mouse, keyboard,
>> etc.) So, I can implement it in Allegro.
>>
>> Any comments ?
>
>Sound's good and would be usefull for much more than just Allegro.
>
>Would you be willing to send me a copy of your code, as this sounds like
>somethink I could use in my kernel code (pure djgpp, no dos at all!). I
>could port it to djgpp in gerneral as I port it to my os.
Would this not be, generally, the same thing as multi-threading using
priorities? While there are thread libraries for DJGPP out there (I haven't
played with threads in DJGPP yet) I think it might behoove Allegro to add
this feature. Playing with threads in Java, I like the simple approach to
them (although setting priorities does not work under Win95 :< ). There are
only a handful of routines needed to implement a fully threadable class; but
then the problem of synchronizing variables comes into play. Dunno how this
is managed in C/C++, but the implementation in Java is fairly complex.
Has anyone played with any threading libraries for DJGPP? Are they
pretty good, or can it be implemented better?
PV
______________________________________________________________________________
Paul Peavyhouse
http://www.cs.montana.edu/~pv
email: pv AT cs DOT montana DOT edu
______________________________________________________________________________
- Raw text -