This is Unofficial EPICS BASE Doxygen Site
timerQueuePassive.cpp
Go to the documentation of this file.
1 /*************************************************************************\
2 * Copyright (c) 2002 The University of Chicago, as Operator of Argonne
3 * National Laboratory.
4 * Copyright (c) 2002 The Regents of the University of California, as
5 * Operator of Los Alamos National Laboratory.
6 * EPICS BASE Versions 3.13.7
7 * and higher are distributed subject to a Software License Agreement found
8 * in file LICENSE that is included with this distribution.
9 \*************************************************************************/
10 /*
11  * Author Jeffrey O. Hill
12  * johill@lanl.gov
13  * 505 665 1831
14  */
15 
16 //
17 // Note, a free list for this class is not currently used because of
18 // entanglements between the file scope free list destructor and a
19 // file scope fdManager destructor which is trying to call a
20 // destructor for a passive timer queue which is no longer valid
21 // in pool.
22 //
23 
24 #include <stdio.h>
25 
26 #include "timerPrivate.h"
27 
28 epicsTimerQueuePassive::~epicsTimerQueuePassive () {}
29 
30 epicsTimerQueuePassive & epicsTimerQueuePassive::create ( epicsTimerQueueNotify &notify )
31 {
32  return * new timerQueuePassive ( notify );
33 }
34 
35 timerQueuePassive::timerQueuePassive ( epicsTimerQueueNotify &notifyIn ) :
36  queue ( notifyIn ) {}
37 
39 
41 {
42  return this->queue.createTimer ();
43 }
44 
46 {
47  return this->queue.createTimerForC ( pCallback, pArg );
48 }
49 
50 double timerQueuePassive::process ( const epicsTime & currentTime )
51 {
52  return this->queue.process ( currentTime );
53 }
54 
55 void timerQueuePassive::show ( unsigned int level ) const
56 {
57  printf ( "EPICS non-threaded timer queue at %p\n",
58  static_cast <const void *> ( this ) );
59  if ( level >=1u ) {
60  this->queue.show ( level - 1u );
61  }
62 }
63 
65 {
66  return static_cast < epicsTimerQueue &> ( * this );
67 }
68 
epicsTimerQueue & getEpicsTimerQueue()
void show(unsigned int level) const
Definition: timerQueue.cpp:214
#define printf
Definition: epicsStdio.h:41
epicsTimer & createTimer()
Definition: timerQueue.cpp:204
void show(unsigned int level) const
epicsTimerForC & createTimerForC(epicsTimerCallback pCallback, void *pArg)
Definition: timerQueue.cpp:209
timerQueuePassive(epicsTimerQueueNotify &)
void(* epicsTimerCallback)(void *pPrivate)
Definition: epicsTimer.h:134
epicsTimer & createTimer()
timerQueue queue
Definition: timerPrivate.h:188
epicsTimerForC & createTimerForC(epicsTimerCallback pCallback, void *pArg)
double process(const epicsTime &currentTime)
double process(const epicsTime &currentTime)
Definition: timerQueue.cpp:78