Re: Multiprocessor crash.
"rnd" <rnd@newsgroup.nospam> wrote in message
news:OooLGxheIHA.3940@TK2MSFTNGP05.phx.gbl...
Hi,
thanks for the answers. Sorry about the lack of details, here are some
more. :-)
What indicates that 14412 has not finish its processing when handling
OnUpdateWorklistGui is that the next line from the GUI thread (so from the
OnUpdateWorklistGui) should be
timestamp {14412} filter: Number_of_items added to list
But instead I see the other message (OnUpdateTopListItem) handled:
09:44:25.968 {14412} update top list item
The worker thread that sends the OnUpdateTopListItem is using SendMessage
As Michael mentioned SendMessage could be a problem Check the docs on how
that works when used to send a message to another thread.
PostMessage may be a better solution...
Also, multicore provides parallel processing, so running on multi-core
machines can expose synchronization bugs in code that may have been based on
single processor multitasking thinking.
If you look at your thread code and think in terms of any or all threads of
your process could be running at the same time (not just in serialized time
slices), then that may expose a synchronization problem.
Mark
--
Mark Salsbery
Microsoft MVP - Visual C++
to notify that a change occured and that the list should be updated.
Concerning the fact that maybe no context switch happened, is there a way
to see if there are context switching or on which processor the code is
actually executed?
Thanks,
Pete
Mark Salsbery [MVP] wrote:
I'm confused (happens often :))...
What indicates that the 14412 thread never completed the processing that
got "interrupted"?
Are the messages sent with SendMessage() or posted with PostMessage?
Mark