-
Notifications
You must be signed in to change notification settings - Fork 571
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
drcachesim: add Windows support #1727
Comments
It seems best to quickly fix this now so that all the future offline stuff will be tested. The sooner this is added the less work later. *** TODO /MT vs /MTd build issues due to sharing files bet client and exe Windows build issue: source files used in both tracer client and drcachesim *** TODO vastly different simulator output Linux:
Windows is running a lot more code (CRT or STL differences presumably):
|
I have the named pipe working on Windows except for one problem: a child process fails to open a write handle to it. CreateFileA fails with ERROR_INVALID_PARAMETER in the child process. I have yet to figure this out. Changing the CreateProcess to inherit handles (shouldn't matter): no difference. Removing the sharing flags: no difference. The pipe name is the same as the client in the parent. I plan to go ahead and put in the rest of the changes to get base Windows testing in place for future offline trace work and we'll figure this out later. |
I also never figured out the atomic pipe write limit on Windows. I'm sticking with 512 from POSIX.1-2001. |
It turns out that it is complex to support multiple processes connecting to a named pipe:
See the example at https://msdn.microsoft.com/en-us/library/windows/desktop/aa365603(v=vs.85).aspx |
Single-process support is in:
Leaving open for multi-process support. |
Split from #1703
This issue covers adding Windows support to drcachesim. Primarily this means implementing named pipe support for Windows. If Windows named pipes cannot handle multiple writers, the IPC setup in drcachesim may need to be tweaked to merge multiple pipes in the reader.
The text was updated successfully, but these errors were encountered: