You don't know much about operating systems. What if the application
isn't
running application code at the time of the "stop"? What if it's in the
middle of a driver call? Is the driver left in a bad state? Can the OS
terminate the driver, too? What if another application is also in the
middle of a call to that driver? What if the driver is for the display?
It's not so simple to 'just' terminate an application.
The most-likely place for the bug is your code. I'm not convinced yet
that
you are the source of the problem. The second most-likely is in the .NET
CF, hence the suggestion that you take that out of the loop by using
native
code. The third most-likely is theBluetoothstack, as it was probably
only
tested for the standard communication tasks: headset, ActiveSync and
maybeBluetoothserial for GPS. The lest-likely is the operating system
itself.
It's certainly not bug-free, but it gets used in a lot more different
scenarios than any individual program, driver, or framework.
Paul T.
On Aug 10, 5:29 am, "<ctacke/>" <ctacke[at]opennetcf[dot]com> wrote:
I haven't had a chance to do what you suggest and it will be more
than
a short gentle curve for me to figure out how. But are you saying
that you think that the problem is with the Widcomm stack that HP
ships with all its iPAQs? Isn't that equally unlikely?
Since I know how OEMs tend to test, it's not as unlikely no. It's
also
possible that how they tested the ports differs from how you're trying
to
use them (I can pretty much guarantee they used native code to test).
My
guess is that the serial classes are trying to set up some parameter
that
makes sense in a real serial connection, but HP didn't implement or
implemented incorrectly that same parameter and never bothered to test
what
happens when you try to change it. Good examples might be baud rate,
flow
control, parity, stop bits, timeouts, etc.
Chris Tacke, Embedded MVP
OpenNETCF Consulting
Managed Code in an Embedded Worldwww.OpenNETCF.com
Actually, I was originally referring to the inability to stop the
program once the OS caught an IOException and reported the problem. I
would have thought that the Quit button on the OS-generated dialog box
would have worked at that point regardless of any problem with the
driver. And barring that, the STOP running program in the
System>Memory Running Programs dialog should work regardless of a
problem with a third party driver. And when both of those things fail
that seems like a bug in the OS to me. But maybe that's just me.
So, is it your opinion that HP is at fault here for including a
BlueToothstack that is incompatible with Windows CE, at least with
the SerialPort API? The Widcomm stack is VERY widely used on PDAs
running Windows CE, by the way, and I would be surprised to find that
such an obvious application as serial communications was not tested at
least to the point to see that the Open method didn't fail every
time. But again, maybe that's just me.
You don't know much about operating systems.