summaryrefslogtreecommitdiff
path: root/TAO/tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.cpp
blob: aff5665bd2bcb1c22defda3f3321e05086bcd96c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// $Id$

#include "tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.h"

ACE_RCSID (CSD_ThreadPool,
           TP_Collocated_Synch_Request,
           "$Id$")

#include "tao/ORB_Core.h"

#if !defined (__ACE_INLINE__)
# include "tao/CSD_ThreadPool/CSD_TP_Collocated_Synch_Request.inl"
#endif /* ! __ACE_INLINE__ */

TAO_BEGIN_VERSIONED_NAMESPACE_DECL

TAO::CSD::TP_Collocated_Synch_Request::~TP_Collocated_Synch_Request()
{
}


void
TAO::CSD::TP_Collocated_Synch_Request::dispatch_i()
{
  try
    {
      this->do_dispatch();
    }
  catch (const ::CORBA::Exception& ex)
    {
      // We need to save off a copy of the exception.
      this->exception_ = ex._tao_duplicate();
    }
  catch (...)
    {
      ACE_NEW (this->exception_ ,
               CORBA::UNKNOWN (CORBA::SystemException::_tao_minor_code
                                 (TAO_UNHANDLED_SERVER_CXX_EXCEPTION, 0),
                                  CORBA::COMPLETED_MAYBE));
    }

  this->synch_helper_.dispatched();
}

void
TAO::CSD::TP_Collocated_Synch_Request::cancel_i()
{
  this->synch_helper_.cancelled();
}

TAO_END_VERSIONED_NAMESPACE_DECL