nidas  v1.2-1520
Classes | Namespaces | Macros
SensorHandler.h File Reference
#include <nidas/Config.h>
#include "DSMSensor.h"
#include "Polled.h"
#include "SensorOpener.h"
#include "RemoteSerialListener.h"
#include <nidas/util/Thread.h>
#include <nidas/util/ThreadSupport.h>
#include <nidas/util/IOException.h>
#include <sys/time.h>
#include <vector>
#include <set>

Go to the source code of this file.

Classes

class  nidas::core::SensorHandler
 SensorHandler implements a DSMSensor event loop. More...
 
class  nidas::core::SensorHandler::PolledDSMSensor
 
class  nidas::core::SensorHandler::NotifyPipe
 

Namespaces

 nidas
 Root namespace for the NCAR In-Situ Data Acquisition Software.
 
 nidas::core
 The essential core classes of nidas.
 

Macros

#define USE_NOTIFY_PIPE
 If this thread cannot block and then atomically catch a signal in its polling method then a pipe must be used to notify the polling loop of changes to the polled set of descriptors. More...
 

Macro Definition Documentation

#define USE_NOTIFY_PIPE

If this thread cannot block and then atomically catch a signal in its polling method then a pipe must be used to notify the polling loop of changes to the polled set of descriptors.

A pipe is used in these situations:

  1. polling method is epoll, but don't have epoll_pwait
  2. polling method is poll, but don't have ppoll. otherwise a SIGUSR1 signal is sent to this thread.