goma/wine/c022b2e67e54d45d4eed6d8877d6f1bd1bcd79c3 Workaround for VS2013
- Workaround for cl.exe deadlock for VS2013.
In wine environment, cl.exe sometimes tries to call EnterCriticalSection
with zero-cleared CRITICAL_SECTION. Wine thinks it so that someone has already
taken a lock, so cl.exe is stopped to wait for lock which no one holds.
If someone has taken a lock, RecursionCount should be 1. So zero-cleared
CriticalSection should mean no one holds a lock now. Thus, it should be OK
to allow cl.exe to enter a critical section for workaround.
- cl.exe for VS2013 sometimes cannot find headers.
For example,
'C:\foo1.h': can be found
'C:\foo12.h' : cannot be found
'C:\foo123.h' : can be found.
When long_nameW is copied with memcpy to filename, wine sometimes copy
garbage characters. So, cl.exe tried finding 'C:\foo1.hh', 'C:\foo123.hi'
or something.
In this workaround, we initialize long_nameW with zero.
Change-Id: Ie2ddafa01920a298d046d0f98b860f3ff0f7a25c
2 files changed