=================================================================== RCS file: /MkLinux/floppy-darwin/NOTES,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- floppy-darwin/NOTES 2002/03/21 23:28:05 1.3 +++ floppy-darwin/NOTES 2002/03/22 07:35:42 1.4 @@ -1,16 +1,24 @@ NOTES: -Debugged enough to verify that the semaphore timeouts were working, -since I just documented that, and I'd need to quickly remove that -from the docs had it been broken. So that works. Now quickly recording -what's broken. - -1. Somewhere, we're getting stuck in a loop waiting 4000 ms for some event - that never happens. Find and fix. -2. On unload, get a 0x400 (instruction access). It's actually a callback, - probably caused by a timeout that wasn't cancelled, probably waiting on - a lock, semaphore, or any number of waits. This is gross. Need to make - sure all timer events are cancelled cleanly in the unload code. :-) +Okay, here's what's still broken: + +1. On unload, get a 0x400 (instruction access) if we unload while +doing a semaphore_timedwait. Somehow, I need to cancel any thread +timers that might be outstanding against any user threads that happen +to be in the driver's code, as well as any thread timers outstanding +against the polling thread. I have NO idea how.... Hopefully the +driver won't be wedging anymore, though, which would mean that this +wouldn't happen in the future.... :-| + +Ah. We may need to tear down the driver in a sane fashion that prevents +anything from entering the driver while it is being torn down. Still +pondering that one. Maybe the I/O Kit takes care fo that for us. I +hope so. That would be really ugly. + +2. Need to verify fix for the hangs. + +3. Missing read/write support (both synchronous and asynchronous). + WARNINGS (that might be mistakes):