[Mono-dev] Process.ExitCode may return an uninitlialized value
slashboot
slashboot at gmail.com
Wed Jun 4 14:04:40 EDT 2008
Hello,
Recently, I run into an issue where Process.ExitCode was returning numbers
out of the 0-255 range which turned out to be random numbers. I was trying
to figure out how this can happen and found that in ExitCode_internal (see
below, this is the latest revision), no checks were made on the return value
of the GetExitCodeProcess (process, &code) call which might lead to
returning uninitialized exit code if GetExitCodeProcess returns FALSE. That
doesn't look right to me..
For some reason that I still can't explain, GetExitCodeProcess was returning
FALSE and I saw this message : "GetExitCodeProcess: Can't find process 0x1"
on every process that I created (the process didn't seem to execute
correctly). Is anyone aware of such kind of problem ? (I'm using an old
1.1.17-2 version). I cannot reproduce this consistently, but each time it
happens, no more processes could be created going forward and I need to
restart the app.
--
Mahdi.
//trunk/mono/mono/metadata/process.c
gint32 ves_icall_System_Diagnostics_Process_ExitCode_internal (HANDLE
process)
{
DWORD code;
MONO_ARCH_SAVE_REGS;
GetExitCodeProcess (process, &code);
#ifdef DEBUG
g_message (G_GNUC_PRETTY_FUNCTION ": process exit code is %d", code);
#endif
return(code);
}
--
View this message in context: http://www.nabble.com/Process.ExitCode-may-return-an-uninitlialized-value-tp17635993p17635993.html
Sent from the Mono - Dev mailing list archive at Nabble.com.
More information about the Mono-devel-list
mailing list