[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference pamsrc::decmessageq

Title:NAS Message Queuing Bus
Notice:KITS/DOC, see 4.*; Entering QARs, see 9.1; Register in 10
Moderator:PAMSRC::MARCUSEN
Created:Wed Feb 27 1991
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:2898
Total number of notes:12363

2848.0. "Problems with sync calls - solved?" by TAV02::NITSAN (One side will make you larger) Tue Apr 15 1997 05:20

Hello,

I haven't really touched DMQ recently. Someone told me there used to
be certain problems concerning performing synchronous calls to DMQ in
a Motif (or similar) environments in DMQ V3.x.

Briefly speaking, what were the problems, and are they solved in DMQ V4
for OpenVMS?

Thank you,
-- Nitsan
T.RTitleUserPersonal
Name
DateLines
2848.1SIOG::BATEMANWe are all DECserversTue Apr 15 1997 05:5012
    
    Motif/Xt assumes that the main line code is an XtMainLoop (ie:
    dispatching X windows events). If however you call pams_get_msgw() in
    one of your event routes it may block until the appropriate message
    is received or a timeout occurs. You may be able to get around this
    with some careful coding (eg: fork a process to do the DECmessageQ
    pams_get_msgw and signal the parent process).
    
    I don't think anything has changed in V4.0 to help you.
    
    Alan.
    
2848.2I need to know the specific problem...KLOVIA::MICHELSENBEA/DEC MessageQ EngineeringTue Apr 15 1997 09:5324
re: .0

>I haven't really touched DMQ recently. Someone told me there used to
>be certain problems concerning performing synchronous calls to DMQ in
>a Motif (or similar) environments in DMQ V3.x.

>Briefly speaking, what were the problems, and are they solved in DMQ V4
>for OpenVMS?

	  I cannot recall any specific problems with Motif other than the
	general problem having blocking calls within a polling dispatch
	loop.  Others have solved this problem with pams_get_msga or 
	adding a timed based pams_get_msg event to their Motif application.

re: .1

>    I don't think anything has changed in V4.0 to help you.


	  That is correct, nothing specific was done in this area.



Marty
2848.3And you can use threadsXHOST::SJZKick Butt In Your Face Messaging !Tue Apr 15 1997 10:5211
    
    of course you can use threads as well.  specifically you want
    to threads.  the first thread or main thread would be your  X
    thread.  the second would be  your  DMQ  thread.  you  signal
    your DMQ thread using a work queue and a  condition  variable.
    when the DMQ thread is done,  it signals the X  thread  using
    something like XSendEvent and then reading off some  sort  of
    completion queue.
    
    it SHOULD just work.
    _sjz.