mirror of
https://github.com/ValveSoftware/Proton.git
synced 2024-12-26 06:35:46 +03:00
steam_helper: Stop waiting on the debugger when ptraced.
This commit is contained in:
parent
48670ca952
commit
37b88eb035
@ -1514,6 +1514,29 @@ static DWORD WINAPI steam_drm_thread(void *arg)
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
BOOL is_ptraced(void)
|
||||
{
|
||||
char key[50];
|
||||
int value;
|
||||
FILE *fp = fopen("/proc/self/status", "r");
|
||||
BOOL ret = FALSE;
|
||||
|
||||
if (!fp) return FALSE;
|
||||
|
||||
while (fscanf(fp, " %s %d\n", key, &value) > 0)
|
||||
{
|
||||
if (!strcmp("TracerPid:", key))
|
||||
{
|
||||
ret = (value != 0);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
fclose(fp);
|
||||
return ret;
|
||||
}
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
HANDLE wait_handle = INVALID_HANDLE_VALUE;
|
||||
@ -1557,7 +1580,7 @@ int main(int argc, char *argv[])
|
||||
{
|
||||
unsigned int sleep_count = 0;
|
||||
WINE_TRACE("PROTON_WAIT_ATTACH is set, waiting for debugger...\n");
|
||||
while (!IsDebuggerPresent())
|
||||
while (!IsDebuggerPresent() && !is_ptraced())
|
||||
{
|
||||
Sleep(100);
|
||||
++sleep_count;
|
||||
|
Loading…
Reference in New Issue
Block a user