I'm having a particular problem that I need to resolve but
can't seem to
find the answer.
I have a Winform application that does various processes and
spawns several
threads to do various bits of work.
On one of the threads it spawns another thread that in turn
uses the
Process.Start() method to start a new process (BCP in this
case) to upload
some data to SQL Server.
Now... when I run this app from a console/command-line it
works fine and no
process gets hung. When it's run from the winform app it
hangs on the
Process.Start() method and doesn't return albeit the BCP
executes and exits
normally.
I've examined the threads and the thread is in a sleep,
wait, or join state.
Here's a partial list of the thread call stack:
[In a sleep, wait, or join]
System.dll!System.Diagnostics.ShellExecuteHelper.ShellExecut
eOnSTAThread() +
0x77 bytes
System.dll!System.Diagnostics.Process.StartWithShellExecuteE
x(System.Diagnostics.ProcessStartInfo
startInfo) + 0x2d8 bytes
System.dll!System.Diagnostics.Process.Start() + 0x80 bytes
...
I do have a Process.WaitForExit() method call after the
Process.Start() call
but it never exits the Process.Start().
Here's my code that executes the process:
Process p = new Process();
p.StartInfo.FileName = "bcp.exe";
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
p.StartInfo.Arguments = arguments.ToString();
p.Start();
Any help would be most appreciated.
Thanks,
Mike
===================================
This list is hosted by DevelopMentorŪ http://www.develop.com
View archives and manage your subscription(s) at http://discuss.develop.com
|