BUG: Yield Problems with Win16 Multiprotocol Net-LibraryLast reviewed: April 8, 1997Article ID: Q152060 |
The information in this article applies to:
SYMPTOMSThe Windows 3.1 version of Multiprotocol Net-Library DLL (that is, DBMSRPC3.DLL) incorrectly allows user inputs (mouse or keyboard) to the application while yielding to Windows during the RPC operations. This behavior allows users to issue other commands (menu or dialog) to the same running SQL Server application while the application is waiting for server to respond. Such commands can cause unexpected behavior such as dead DBProcesses to both existing connections and new connections.
STATUSMicrosoft has confirmed this to be a problem in Microsoft SQL Server version 6.5 and 6.0. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.
MORE INFORMATIONDBMSRPC3.DLL calls RPCWinSetYieldInfo() with "standard yielding" option to yield to Windows during RPC operations to avoid blocking the entire Windows and other applications (that is, cooperative multitasking). This mechanism is supposed to cause the RPC run-time library to provide a standard modal dialog box that includes a single push-button control with an IDCANCEL ID. The dialog box prevents direct user input, such as mouse and keyboard events, from being sent to the application. However, when the standard "Remote Procedure Call in progress" message box is displayed, DBMSRPC3.DLL still allows users to interact with the application using the mouse. For example, using the sqltest3 sample, you can go back to the application and select from the Connect menu and try to make another connection, while the message still indicates the RPC operation is in progress. Depending on what you do to the application, the result can be very different. Typically, the command will fail, and cause the entire application to either GP-fault or return other fatal errors.
|
Additional query words: RPC netlib
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |