Commit 115cb41b authored by msvensson@pilot.mysql.com's avatar msvensson@pilot.mysql.com

Merge pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-mtr-win

into  pilot.mysql.com:/data/msvensson/mysql/mysql-5.1-mtr
parents 3b7c6573 34605cc1
......@@ -29,6 +29,7 @@ int main(int argc, const char** argv )
DWORD pid= -1;
HANDLE shutdown_event;
char safe_process_name[32]= {0};
int retry_open_event= 100;
if (argc != 2) {
fprintf(stderr, "safe_kill <pid>\n");
......@@ -39,14 +40,33 @@ int main(int argc, const char** argv )
_snprintf(safe_process_name, sizeof(safe_process_name), "safe_process[%d]", pid);
/* Open the event to signal */
if ((shutdown_event=
OpenEvent(EVENT_MODIFY_STATE, FALSE, safe_process_name)) == NULL){
while ((shutdown_event=
OpenEvent(EVENT_MODIFY_STATE, FALSE, safe_process_name)) == NULL)
{
fprintf(stderr, "Failed to open shutdown_event '%s', error: %d\n",
safe_process_name, GetLastError());
exit(1);
/* Just check to see if pid exists */
HANDLE pid_handle= OpenProcess(SYNCHRONIZE, FALSE, pid);
if (pid_handle == NULL)
fprintf(stderr, "Could not open process with pid %d, error: %d\n", pid);
else
CloseHandle(pid_handle);
if (retry_open_event--)
{
fprintf(stderr, "retrying...\n");
Sleep(100); /* In milli seconds */
}
else
{
fprintf(stderr, "No more retries, exiting");
exit(1);
}
}
if(SetEvent(shutdown_event) == 0) {
if(SetEvent(shutdown_event) == 0)
{
fprintf(stderr, "Failed to signal shutdown_event '%s', error: %d\n",
safe_process_name, GetLastError());
CloseHandle(shutdown_event);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment