Click here to Skip to main content
15,920,828 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: COM message pump Pin
George_George26-Mar-08 23:43
George_George26-Mar-08 23:43 
AnswerRe: COM message pump Pin
Roger Stoltz27-Mar-08 0:51
Roger Stoltz27-Mar-08 0:51 
GeneralRe: COM message pump Pin
George_George27-Mar-08 2:12
George_George27-Mar-08 2:12 
GeneralRe: COM message pump Pin
Roger Stoltz27-Mar-08 2:38
Roger Stoltz27-Mar-08 2:38 
GeneralRe: COM message pump Pin
George_George27-Mar-08 3:20
George_George27-Mar-08 3:20 
AnswerRe: COM message pump Pin
Roger Stoltz27-Mar-08 22:47
Roger Stoltz27-Mar-08 22:47 
GeneralRe: COM message pump Pin
George_George27-Mar-08 23:38
George_George27-Mar-08 23:38 
GeneralRe: COM message pump Pin
Roger Stoltz28-Mar-08 0:04
Roger Stoltz28-Mar-08 0:04 
George_George wrote:
how message loop prevent server from deadlock?


Perhaps I didn't put that very clear... Unsure | :~
What I meant was when the message loop has called a message handler, the thread doesn't pump messages unless the message handler provides functionality for that.
The message pump of the server normally pumps other messages than COM messages, which means that the STA thread may be busy when a call is made from a COM client.

Example:
Let's say you have a COM server in the main application thread and you've spawned a worker thread and marshalled an interface to the server into the worker thread.
You send a user defined message from the main thread to the worker thread with ::SendMessage(), which boils down to a call via the marshalled interface. The deadlock is now a reality since the STA where the server lives doesn't pump messages, it's waiting for the ::SendMessage() call to return.


"It's supposed to be hard, otherwise anybody could do it!" - selfquote
"High speed never compensates for wrong direction!" - unknown


GeneralRe: COM message pump Pin
George_George28-Mar-08 0:29
George_George28-Mar-08 0:29 
GeneralRe: COM message pump Pin
Roger Stoltz28-Mar-08 0:53
Roger Stoltz28-Mar-08 0:53 
GeneralRe: COM message pump Pin
George_George28-Mar-08 4:24
George_George28-Mar-08 4:24 
GeneralRe: COM message pump Pin
Roger Stoltz28-Mar-08 4:41
Roger Stoltz28-Mar-08 4:41 
GeneralRe: COM message pump Pin
George_George28-Mar-08 5:05
George_George28-Mar-08 5:05 
GeneralRe: COM message pump Pin
Stephen Hewitt27-Mar-08 15:33
Stephen Hewitt27-Mar-08 15:33 
GeneralRe: COM message pump Pin
Iain Clarke, Warrior Programmer27-Mar-08 22:49
Iain Clarke, Warrior Programmer27-Mar-08 22:49 
GeneralRe: COM message pump Pin
George_George27-Mar-08 23:48
George_George27-Mar-08 23:48 
GeneralProblem in Focusing... Pin
Ashish Chauhan26-Mar-08 21:16
Ashish Chauhan26-Mar-08 21:16 
GeneralRe: Problem in Focusing... Pin
Naveen26-Mar-08 21:49
Naveen26-Mar-08 21:49 
GeneralRe: Problem in Focusing... Pin
Ashish Chauhan26-Mar-08 22:42
Ashish Chauhan26-Mar-08 22:42 
GeneralRe: Problem in Focusing... Pin
Naveen26-Mar-08 22:49
Naveen26-Mar-08 22:49 
GeneralRe: Problem in Focusing... Pin
Ashish Chauhan26-Mar-08 22:57
Ashish Chauhan26-Mar-08 22:57 
GeneralRe: Problem in Focusing... Pin
Naveen26-Mar-08 23:12
Naveen26-Mar-08 23:12 
GeneralRe: Problem in Focusing... Pin
Ashish Chauhan26-Mar-08 23:24
Ashish Chauhan26-Mar-08 23:24 
GeneralRe: Problem in Focusing... Pin
Ashish Chauhan26-Mar-08 23:29
Ashish Chauhan26-Mar-08 23:29 
GeneralRe: Problem in Focusing... Pin
Naveen26-Mar-08 23:39
Naveen26-Mar-08 23:39 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.