-
Notifications
You must be signed in to change notification settings - Fork 487
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
application hang when call WinDivertClose #298
Comments
It seems related to #294. Eyeballing the code, it is strange that it hangs on What version of Windows is this? Is there a reliable way to reproduce the problem? |
Sometime happened on Windows 1703 x86, Windows x64 too but much less. |
I also checked, and it seems what WinDivert is doing is correct, on paper at least: For example, a driver that provides an EvtDeviceFileCreate callback function might create an I/O queue to handle I/O requests that are associated with a particular framework file object. In this case the driver's EvtFileCleanup callback function must call WdfIoQueuePurge to purge the queue and then call WdfObjectDelete to delete it. Basically, when the program calls So the current design appears to be sound at least, and the bug probably is something else. But I don't think I can make progress on this unless I can replicate the bug. |
this is my app's stack. My app hang when call WinDivertClose:
if (m_hSocketMon && m_hSocketMon != INVALID_HANDLE_VALUE)
{
WinDivertClose(m_hSocketMon); // hang here
}
after run above codes, my app still have 3 other handle to close. does Windivert driver call cleanup too soon or somethings?
The text was updated successfully, but these errors were encountered: