TRIQS/TRIQS 4.0.0
Researching Interacting Quantum Systems
Loading...
Searching...
No Matches
signal_handler.hpp
Go to the documentation of this file.
1// Copyright (c) 2013-2018 Commissariat à l'énergie atomique et aux énergies alternatives (CEA)
2// Copyright (c) 2013-2018 Centre national de la recherche scientifique (CNRS)
3// Copyright (c) 2018-2020 Simons Foundation
4//
5// This program is free software: you can redistribute it and/or modify
6// it under the terms of the GNU General Public License as published by
7// the Free Software Foundation, either version 3 of the License, or
8// (at your option) any later version.
9//
10// This program is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU General Public License for more details.
14//
15// You may obtain a copy of the License at
16// https://www.gnu.org/licenses/gpl-3.0.txt
17//
18// Authors: Olivier Parcollet, Nils Wentzell
19
24
25#pragma once
26
31
33namespace triqs::signal_handler {
34
36 class exception {};
37
42 void start();
43
48 void stop();
49
56 bool received(bool pop = false);
57
59 int last();
60
62 void pop();
63
64} // namespace triqs::signal_handler
65
Empty exception type that callers may use to signal a graceful shutdown.
Signal handling utilities for the TRIQS library.
int last()
Integer identifier of the most recently received signal.
void start()
Install the TRIQS signal handler.
void stop()
Restore the previous signal disposition.
bool received(bool pop_)
Whether at least one signal has been queued since the last reset.
void pop()
Pop the most recently received signal from the queue (no-op if empty).