The notion of blocking in a Windows environment has historically been a very important one. In Windows Sockets 1.1 environments, blocking calls were discouraged since they tend to disable ongoing interaction with the Windowing system, and since they employ a pseudo blocking technique which, for a variety of reasons, does not always work as intended. However, in preemptively scheduled Win32 environments such as Windows 95 and Windows NT, blocking calls make much more sense, can be implemented by native operating system services, and are in fact a generally preferred mechanism. The Windows Sockets 2 API no longer support psuedo blocking, but because the WinSock 1.1 compatibility shims must continue to emulate this behavior, service providers must support this as described below.