summaryrefslogtreecommitdiff
path: root/TAO/tests/Client_Leaks/Startup_Callback.cpp
blob: ea0b6043c970260a1cc1a923529aef1f7019b933 (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
//
// $Id$
//
#include "Startup_Callback.h"

ACE_RCSID(Client_Leaks, Startup_Callback, "$Id$")

Startup_Callback::Startup_Callback (void)
{
}

int
Startup_Callback::process_has_started (Test::Process_out the_process)
{
  ACE_GUARD_RETURN (TAO_SYNCH_MUTEX, ace_mon, this->mutex_, 0);
  if (!CORBA::is_nil (this->process_.in ()))
    {
      the_process = Test::Process::_duplicate (this->process_.in ());
      return 1;
    }
  return 0;
}

void
Startup_Callback::started (Test::Process_ptr process)
  ACE_THROW_SPEC ((CORBA::SystemException))
{
  ACE_GUARD (TAO_SYNCH_MUTEX, ace_mon, this->mutex_);
  this->process_ = Test::Process::_duplicate (process);
}