Belle II Software  release-08-01-10
HLTMainLoop.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #pragma once
10 
11 #include <framework/pcore/RingBuffer.h>
12 
13 namespace Belle2 {
18  class HLTMainLoop {
19  public:
20  HLTMainLoop();
21 
22  bool isRunning() const;
23  int writeToRingBufferWaiting(RingBuffer* ringBuffer, int* buffer, unsigned int size) const;
24  int readFromRingBufferWaiting(RingBuffer* ringBuffer, int* buffer) const;
25 
26  private:
27  static bool s_interrupted;
28  static void signalHandler(int signalValue);
29 
30  void initSignalHandler() const;
31  };
33 }
Class to manage a Ring Buffer placed in an IPC shared memory.
Definition: RingBuffer.h:39
Abstract base class for different kinds of events.