On Wed, Jun 25, 2014 at 01:32:58PM +0100, Steve (plusnet) wrote: > Secondly, it's not true to say file system operations block everything > in RISC OS - some file systems (notably ADFS) implement "background > transfers" which allow much of RISC OS to continue to operate while the > underlying file operation runs (e.g. via DMA or some such). However, > many > file systems _don't_ implement background transfers - e.g. SDFS - so > these will hog the system for the duration of the low-level operation.
But even with background transfers, the Wimp will typically not continue, no? My understanding is that OS_File SWIs that write data only return when the data is written, and thus the application cannot call Wimp_Poll to allow multitasking to continue - and even if you're using UnixLib threads this doesn't help you because threading does not continue over such SWIs. (Getting into the technical distinctions between WIMP and non-WIMP tasks was something I was trying to avoid getting into on the user's mailing list :) B.