/* MonoW32HandleProcess is a structure containing all the required information for process handling. */
typedef struct {
- pid_t id;
+ pid_t pid;
guint32 exitstatus;
gpointer main_thread;
guint64 create_time;
guint64 exit_time;
- char *proc_name;
+ char *pname;
size_t min_working_set;
size_t max_working_set;
gboolean exited;
process_details (gpointer data)
{
MonoW32HandleProcess *process_handle = (MonoW32HandleProcess *) data;
- g_print ("id: %d, exited: %s, exitstatus: %d",
- process_handle->id, process_handle->exited ? "true" : "false", process_handle->exitstatus);
+ g_print ("pid: %d, exited: %s, exitstatus: %d",
+ process_handle->pid, process_handle->exited ? "true" : "false", process_handle->exitstatus);
}
static const gchar*
return MONO_W32HANDLE_WAIT_RET_SUCCESS_0;
}
- pid = process_handle->id;
+ pid = process_handle->pid;
mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s (%p, %u): PID: %d", __func__, handle, timeout, pid);
process_handle->exited = TRUE;
mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s (%p, %u): Setting pid %d signalled, exit status %d",
- __func__, handle, timeout, process_handle->id, process_handle->exitstatus);
+ __func__, handle, timeout, process_handle->pid, process_handle->exitstatus);
mono_w32handle_set_signal_state (handle, TRUE, TRUE);
mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s", __func__);
process_handle = (MonoW32HandleProcess *) data;
- g_free (process_handle->proc_name);
- process_handle->proc_name = NULL;
+ g_free (process_handle->pname);
+ process_handle->pname = NULL;
if (process_handle->mono_process)
InterlockedDecrement (&process_handle->mono_process->handle_count);
processes_cleanup ();
if (utf8_progname) {
slash = strrchr (utf8_progname, '/');
if (slash)
- process_handle->proc_name = g_strdup (slash+1);
+ process_handle->pname = g_strdup (slash+1);
else
- process_handle->proc_name = g_strdup (utf8_progname);
+ process_handle->pname = g_strdup (utf8_progname);
g_free (utf8_progname);
}
}
(MonoW32HandleCapability)(MONO_W32HANDLE_CAP_WAIT | MONO_W32HANDLE_CAP_SPECIAL_WAIT));
memset (&process_handle, 0, sizeof (process_handle));
- process_handle.id = wapi_getpid ();
+ process_handle.pid = wapi_getpid ();
process_set_defaults (&process_handle);
process_set_name (&process_handle);
return 0;
}
- return process_handle->id;
+ return process_handle->pid;
}
typedef struct {
process_handle = (MonoW32HandleProcess*) handle_specific;
- mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: looking at process %d", __func__, process_handle->id);
+ mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: looking at process %d", __func__, process_handle->pid);
- pid = process_handle->id;
+ pid = process_handle->pid;
if (pid == 0)
return FALSE;
guint32 count, avail = size / sizeof(gpointer);
int i;
pid_t pid;
- char *proc_name = NULL;
+ char *pname = NULL;
gboolean res;
/* Store modules in an array of pointers (main module as
if (WAPI_IS_PSEUDO_PROCESS_HANDLE (process)) {
pid = WAPI_HANDLE_TO_PID (process);
- proc_name = mono_w32process_get_name (pid);
+ pname = mono_w32process_get_name (pid);
} else {
res = mono_w32handle_lookup (process, MONO_W32HANDLE_PROCESS, (gpointer*) &process_handle);
if (!res) {
return FALSE;
}
- pid = process_handle->id;
- proc_name = g_strdup (process_handle->proc_name);
+ pid = process_handle->pid;
+ pname = g_strdup (process_handle->pname);
}
- if (!proc_name) {
+ if (!pname) {
modules[0] = NULL;
*needed = sizeof(gpointer);
return TRUE;
if (!mods) {
modules[0] = NULL;
*needed = sizeof(gpointer);
- g_free (proc_name);
+ g_free (pname);
return TRUE;
}
module = (MonoW32ProcessModule *)mods_iter->data;
if (modules[0] != NULL)
modules[i] = module->address_start;
- else if (match_procname_to_modulename (proc_name, module->filename))
+ else if (match_procname_to_modulename (pname, module->filename))
modules[0] = module->address_start;
else
modules[i + 1] = module->address_start;
*needed = sizeof(gpointer) * (count + 1);
g_slist_free (mods);
- g_free (proc_name);
+ g_free (pname);
return TRUE;
}
gsize bytes;
GSList *mods = NULL, *mods_iter;
MonoW32ProcessModule *found_module;
- char *proc_name = NULL;
+ char *pname = NULL;
gboolean res;
mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Getting module base name, process handle %p module %p",
if (WAPI_IS_PSEUDO_PROCESS_HANDLE (process)) {
/* This is a pseudo handle */
pid = (pid_t)WAPI_HANDLE_TO_PID (process);
- proc_name = mono_w32process_get_name (pid);
+ pname = mono_w32process_get_name (pid);
} else {
res = mono_w32handle_lookup (process, MONO_W32HANDLE_PROCESS, (gpointer*) &process_handle);
if (!res) {
return 0;
}
- pid = process_handle->id;
- proc_name = g_strdup (process_handle->proc_name);
+ pid = process_handle->pid;
+ pname = g_strdup (process_handle->pname);
}
mods = mono_w32process_get_modules (pid);
if (!mods) {
- g_free (proc_name);
+ g_free (pname);
return 0;
}
for (mods_iter = mods; mods_iter; mods_iter = g_slist_next (mods_iter)) {
found_module = (MonoW32ProcessModule *)mods_iter->data;
if (procname_ext == NULL &&
- ((module == NULL && match_procname_to_modulename (proc_name, found_module->filename)) ||
+ ((module == NULL && match_procname_to_modulename (pname, found_module->filename)) ||
(module != NULL && found_module->address_start == module))) {
procname_ext = g_path_get_basename (found_module->filename);
}
}
g_slist_free (mods);
- g_free (proc_name);
+ g_free (pname);
if (procname_ext) {
mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Process name is [%s]", __func__,
GSList *mods = NULL, *mods_iter;
MonoW32ProcessModule *found_module;
gboolean ret = FALSE;
- char *proc_name = NULL;
+ char *pname = NULL;
gboolean res;
mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_LAYER, "%s: Getting module info, process handle %p module %p",
if (WAPI_IS_PSEUDO_PROCESS_HANDLE (process)) {
pid = (pid_t)WAPI_HANDLE_TO_PID (process);
- proc_name = mono_w32process_get_name (pid);
+ pname = mono_w32process_get_name (pid);
} else {
res = mono_w32handle_lookup (process, MONO_W32HANDLE_PROCESS, (gpointer*) &process_handle);
if (!res) {
return FALSE;
}
- pid = process_handle->id;
- proc_name = g_strdup (process_handle->proc_name);
+ pid = process_handle->pid;
+ pname = g_strdup (process_handle->pname);
}
mods = mono_w32process_get_modules (pid);
if (!mods) {
- g_free (proc_name);
+ g_free (pname);
return FALSE;
}
for (mods_iter = mods; mods_iter; mods_iter = g_slist_next (mods_iter)) {
found_module = (MonoW32ProcessModule *)mods_iter->data;
if (ret == FALSE &&
- ((module == NULL && match_procname_to_modulename (proc_name, found_module->filename)) ||
+ ((module == NULL && match_procname_to_modulename (pname, found_module->filename)) ||
(module != NULL && found_module->address_start == module))) {
modinfo->lpBaseOfDll = found_module->address_start;
modinfo->SizeOfImage = (gsize)(found_module->address_end) - (gsize)(found_module->address_start);
}
g_slist_free (mods);
- g_free (proc_name);
+ g_free (pname);
return ret;
}
MonoW32HandleProcess process_handle;
memset (&process_handle, 0, sizeof (process_handle));
- process_handle.id = pid;
- process_handle.proc_name = g_strdup (prog);
+ process_handle.pid = pid;
+ process_handle.pname = g_strdup (prog);
process_set_defaults (&process_handle);
/* Add our mono_process into the linked list of processes */
return FALSE;
}
- if (process_handle->id == wapi_getpid ()) {
+ if (process_handle->pid == wapi_getpid ()) {
*exitcode = STILL_ACTIVE;
return TRUE;
}
return FALSE;
}
- pid = process_handle->id;
+ pid = process_handle->pid;
}
ret = kill (pid, exitcode == -1 ? SIGKILL : SIGTERM);
return 0;
}
- pid = process_handle->id;
+ pid = process_handle->pid;
}
errno = 0;
return FALSE;
}
- pid = process_handle->id;
+ pid = process_handle->pid;
}
switch (priorityClass) {
ticks_to_processtime (process_handle->exit_time, exit_processtime);
#ifdef HAVE_GETRUSAGE
- if (process_handle->id == getpid ()) {
+ if (process_handle->pid == getpid ()) {
struct rusage time_data;
if (getrusage (RUSAGE_SELF, &time_data) == 0) {
ticks_to_processtime ((guint64)time_data.ru_utime.tv_sec * 10000000 + (guint64)time_data.ru_utime.tv_usec * 10, user_processtime);