simple-ipc/ipc-win32: add trace2 debugging
Create "ipc-debug" category events to log unexpected errors when creating Simple-IPC connections. Signed-off-by: Jeff Hostetler <jeffhost@microsoft.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>maint
parent
59c923229e
commit
9bd51d4975
|
@ -49,6 +49,9 @@ static enum ipc_active_state get_active_state(wchar_t *pipe_path)
|
||||||
if (GetLastError() == ERROR_FILE_NOT_FOUND)
|
if (GetLastError() == ERROR_FILE_NOT_FOUND)
|
||||||
return IPC_STATE__PATH_NOT_FOUND;
|
return IPC_STATE__PATH_NOT_FOUND;
|
||||||
|
|
||||||
|
trace2_data_intmax("ipc-debug", NULL, "getstate/waitpipe/gle",
|
||||||
|
(intmax_t)GetLastError());
|
||||||
|
|
||||||
return IPC_STATE__OTHER_ERROR;
|
return IPC_STATE__OTHER_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -109,9 +112,15 @@ static enum ipc_active_state connect_to_server(
|
||||||
t_start_ms = (DWORD)(getnanotime() / 1000000);
|
t_start_ms = (DWORD)(getnanotime() / 1000000);
|
||||||
|
|
||||||
if (!WaitNamedPipeW(wpath, timeout_ms)) {
|
if (!WaitNamedPipeW(wpath, timeout_ms)) {
|
||||||
if (GetLastError() == ERROR_SEM_TIMEOUT)
|
DWORD gleWait = GetLastError();
|
||||||
|
|
||||||
|
if (gleWait == ERROR_SEM_TIMEOUT)
|
||||||
return IPC_STATE__NOT_LISTENING;
|
return IPC_STATE__NOT_LISTENING;
|
||||||
|
|
||||||
|
trace2_data_intmax("ipc-debug", NULL,
|
||||||
|
"connect/waitpipe/gle",
|
||||||
|
(intmax_t)gleWait);
|
||||||
|
|
||||||
return IPC_STATE__OTHER_ERROR;
|
return IPC_STATE__OTHER_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,17 +142,31 @@ static enum ipc_active_state connect_to_server(
|
||||||
break; /* try again */
|
break; /* try again */
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
trace2_data_intmax("ipc-debug", NULL,
|
||||||
|
"connect/createfile/gle",
|
||||||
|
(intmax_t)gle);
|
||||||
|
|
||||||
return IPC_STATE__OTHER_ERROR;
|
return IPC_STATE__OTHER_ERROR;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!SetNamedPipeHandleState(hPipe, &mode, NULL, NULL)) {
|
if (!SetNamedPipeHandleState(hPipe, &mode, NULL, NULL)) {
|
||||||
|
gle = GetLastError();
|
||||||
|
trace2_data_intmax("ipc-debug", NULL,
|
||||||
|
"connect/setpipestate/gle",
|
||||||
|
(intmax_t)gle);
|
||||||
|
|
||||||
CloseHandle(hPipe);
|
CloseHandle(hPipe);
|
||||||
return IPC_STATE__OTHER_ERROR;
|
return IPC_STATE__OTHER_ERROR;
|
||||||
}
|
}
|
||||||
|
|
||||||
*pfd = _open_osfhandle((intptr_t)hPipe, O_RDWR|O_BINARY);
|
*pfd = _open_osfhandle((intptr_t)hPipe, O_RDWR|O_BINARY);
|
||||||
if (*pfd < 0) {
|
if (*pfd < 0) {
|
||||||
|
gle = GetLastError();
|
||||||
|
trace2_data_intmax("ipc-debug", NULL,
|
||||||
|
"connect/openosfhandle/gle",
|
||||||
|
(intmax_t)gle);
|
||||||
|
|
||||||
CloseHandle(hPipe);
|
CloseHandle(hPipe);
|
||||||
return IPC_STATE__OTHER_ERROR;
|
return IPC_STATE__OTHER_ERROR;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue