> Hmm, I think this is more due to the move to event driven programming models > than cooperative multitasking.
No, that is a hlf truth. Have you ever tried to write blocking tcp/ip code without threads? It will block untill it receives the response. This *completely* stops the flow of the application, be it DOS, WinAPI, VCL, or some exotic home brew GUI toolkit. Now consider M$ Windows 3.1. It had no threaded capability and only very crude methods for yielding to other processes. This is the reason that M$ opted for non-blocking api, and the fact that it eased the event driven model was a bonus rather than a goal. If your app on Win3.1 didn't yield to other processes, you locked Windows. It wasn't common, but I do remember using Netscape 2 under Windows for Workgroups at University, and it was quite easy to lock the 3.11 when doing large downloads etc. This is why we all went to the Sparc labs ;-) Matt _______________________________________________ fpc-pascal maillist - [EMAIL PROTECTED] http://lists.freepascal.org/mailman/listinfo/fpc-pascal