Sorry must be misinterpreting what your problem is. When you stop MQ via the SCM it stops your queue managers i.e. issues an internal "endmqm MYQMGR" if you have MQGMO_FAIL_IF_QUIESCING coded then you should not time out as your MQGET will fail with RC=2161 in your app which can then gracefully exit.
Regards Tim A "Steve D. Perkins" To: [EMAIL PROTECTED] <[EMAIL PROTECTED]> cc: Sent by: MQSeries Subject: Re: MQGet Blocked Read List <[EMAIL PROTECTED] N.AC.AT> 04/08/2003 14:00 Please respond to MQSeries List Tim, Yep, sure did. MQGMO_FAIL_IF_QUIESCING happens when the queue manager is shutting down. That's not the problem. The problem is terminating a WIN32 Client service gracefully when the service is in a blocked MQGET read. It appears there isn't any way except to wait or issue a ::TerminateThread which works but generates a ton of memory leaks. It would be nice if IBM would code an event handle that could be included as a parameter when issuing a MQGET. Then when signaled the MQGET would return out of the read. Another alternative is simply to "PUT" a message onto the "GET" queue prior to shutdown. This will break the blocked MQGET read as a message is readily available. I'm looking at that method as the best means of gracefully shutting down. However, I don't know how well that method will be received since I'm only supposed to be receiving messages from that queue. Therefore the hunt for an additional solution goes on.... Thanks for the reply! Steve -----Original Message----- From: MQSeries List [mailto:[EMAIL PROTECTED] Behalf Of Tim Armstrong Sent: Sunday, August 03, 2003 8:47 PM To: [EMAIL PROTECTED] Subject: Re: MQGet Blocked Read Did you code MQGMO_FAIL_IF_QUIESCING? Note you should also code the MQOO_ equivalent etc. Regards Tim A "Steve D. Perkins" To: [EMAIL PROTECTED] <[EMAIL PROTECTED]> cc: Sent by: MQSeries Subject: MQGet Blocked Read List <[EMAIL PROTECTED] N.AC.AT> 03/08/2003 08:41 Please respond to MQSeries List Hello, I have an application which one of the prerequisites is to call MQGET with a minimum 120 second WaitInterval! This application is using MQSeries 5.3 client on a WIN32 platform and runs as a service. The minimum 120 second interval is there to supposedly keep the bandwidth down to a minimum. However, the problem is with WIN32 the Service Control Manager times out and cannot shut down the service in a timely fashion. MQGET will only return if the WaitInterval has expired or a message is received. My only solution is to put a message onto the "GET Queue" prior to shutdown to force an exit out of the blocked read. I was hoping for a more elegant solution on WIN32. Are there any other ways to "signal" a blocked MQI MQGET on Win32 to exit? Thanks much! Steve Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com Archive: http://vm.akh-wien.ac.at/MQSeries.archive Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com Archive: http://vm.akh-wien.ac.at/MQSeries.archive Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com Archive: http://vm.akh-wien.ac.at/MQSeries.archive Instructions for managing your mailing list subscription are provided in the Listserv General Users Guide available at http://www.lsoft.com Archive: http://vm.akh-wien.ac.at/MQSeries.archive