[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GEMDOS re-entrancy



========================================================================
semaphores for AES, VDI and GEMDOS. The effect would be that you couldn't
call AES while another process is inside AES, but that's exactly
========================================================================

Question, why AES and VDI?    Well, they are the same trap for one.  And
I thought the calls were executed in supervisor mode so that they couldn't
be re-entered anyway.  And isn't the VDI re-entrant?  Hmm .. maybe not since
you can't call the AES from a G_USERDEF object.  I don't see why the change
would affect the VDI or AES at all.   All that would be needed would be a
single flag, or maybe instead of a flag to check, we could change the
GEMDOS trap so that it points to a routine that puts the process on a special
queue, when the disk IO is complete and the process that was waiting on the
IO was done, you restore the GEMDOS trap and start pulling the processes off
that wait queue to service them.

Semaphores are nice in the right place, when you just want to do nothing
if some other process owns the semaphore, but we want to do something 
special, so in effect, the GEMDOS trap would become the semaphore.