Search results

  1. siddhartha

    Asynchronous HFS+ File Reads Under Classic Mode

    Some more notes. Replacing Delay(1, NULL); with SystemTask(); does not help. I though perhaps it would, but for large files, there are still many timeouts. To further illustrate the bizarreness, compare these two psudeocode blocks, noting that the first block (the one that checks gIOComplete...
  2. siddhartha

    Asynchronous HFS+ File Reads Under Classic Mode

    I might not have time coming up to dig deeper, but I wanted to give an update. Progress has been made. I originally had a simple loop incrementing a counter while waiting for the asynchronous read to complete. Not only would ioResult always be ioInProgress, but it wouldn't call the Completion...
  3. siddhartha

    Asynchronous HFS+ File Reads Under Classic Mode

    I appreciate the reply. Yeah, even using meta flags in each parameter block wouldn't help since the Completion function doesn't trigger on a stall anyway. The ioResult is the result code of the function. The actual function itself returns void since it's an asynchronous function. Yes, sorry...
  4. siddhartha

    Asynchronous HFS+ File Reads Under Classic Mode

    Yeah, it's just a quick and dirty test program. The actual application is calculating the MD5 hash and there are better sanity checks. Just to reiterate, this is only an issue running in Classic Mode as native OS 9 does not have this problem. Since I want the hashing to be as fast as possible...
  5. siddhartha

    Asynchronous HFS+ File Reads Under Classic Mode

    To give an update, I casted a FSForkIOParamPtr as a ParmBlkPtr to pass to PBWaitIOComplete(). No luck. I even manually changed the ioParam.ioTrap field. The behaviour exhibited is still the same as checking io.Param.ioResult, when there is a hang, it's always 1. Stepping through...
  6. siddhartha

    Asynchronous HFS+ File Reads Under Classic Mode

    I just rewrote the test program to use PBReadAsync() and the results are the same. EDIT: What a wild ride. I was going through Files.h and Devices.h to see if there were any other possible helper functions and there it was: I was only able to find anything useful written about this function...
  7. siddhartha

    Asynchronous HFS+ File Reads Under Classic Mode

    This is a bit later in my understanding. It's not technically the SCSI Manager anymore. Everything works fine in native OS 9, it's just Classic Mode that is causing problems. I wonder what the discrepancy is between the emulation layer.
  8. siddhartha

    Asynchronous HFS+ File Reads Under Classic Mode

    This is a crosspost from the md5classic Macintosh Garden page. I have uncovered an absolutely insane issue with Classic Mode in (at least) 10.4 Tiger. As far as I can tell, it doesn't fully support asynchronous file reads. According to Apple, while an asynchronous read with...