I spoke too soon, it did bong.

It breaks here:

DWORD WaitForRX(COMMS_RX_THREAD_DATA_S& rsThreadData, OVERLAPPED& rsNotifyOverlapData)
{
        BOOL    bDone ;
        COMSTAT sStatus ;
        DWORD   dwEvent, dwError, dwDummy, dwNumBytes ;

        dwNumBytes = 0 ;        

        if (!::WaitCommEvent(rsThreadData.hPortHandle, &dwEvent,
*** THIS LINE ===> ***                  &rsNotifyOverlapData) )
        {
                dwError = ::GetLastError();
                if (dwError == ERROR_IO_PENDING)
                {

And the (entire) stack trace is this:

WaitForRX(tagCommsRXThreadData & {...}, _OVERLAPPED & {...}) line 533 + 12 bytes
CommsRXThreadProc(void * 0x02f61fb4) line 510 + 10 bytes
_AfxThreadEntry(void * 0x0013ef14) line 112 + 5 bytes
MyCOMMS! _beginthreadex + 202 bytes
KERNEL32! 7c80b50b()


Now, I can see dwEvent (1) and rsNotifyOverlapData, but I can't see rsThreadData - debugger can't display it - my suspicion would be that the port handle is now invalid, but I can't prove or disprove - any ideas?

--
Jason Teagle
[EMAIL PROTECTED]
 

_______________________________________________
msvc mailing list
[email protected]
See http://beginthread.com/mailman/listinfo/msvc_beginthread.com for 
subscription changes, and list archive.

Reply via email to