Esempio n. 1
0
BOOL Util::InsertSVMQ(CString strQueueName, CString strMessage, CString strLabel)
{
      MutexLock lock(g_InsertMQLock);
      if(strLabel.isEmpty())
         strLabel="SVMQ";

      void *pqueue=NULL;
      int err=0;
      CString strError="";
      if((err=OpenQueue(g_SVMQAddress.getText(), (char *)strQueueName, &pqueue))>0)
      {
           if((err=Push(pqueue, strLabel, strMessage))>0)
	   {
	       CloseQueue(pqueue);
	       return TRUE;
	   }else
	   {
	      CloseQueue(pqueue);
	      strError.Format("Send Message error errorid:%d",err);
	      throw MSException((char *)strError);
	      
	   }
	   
          
      }else
      {
          puts("Open queue failed");
          strError.Format("Open queue failed errorid:%d",err);
	  throw MSException(strError.getText());
      }
      
      return TRUE;

}
Esempio n. 2
0
void BaseRenderer::ProcessStopRenderingMessage()
{
  m_selfThread.GetRoutine()->Cancel();
  CloseQueue();
}
Esempio n. 3
0
void BackendRenderer::StopThread()
{
  m_selfThread.GetRoutine()->Cancel();
  CloseQueue();
  m_selfThread.Join();
}