OpenFOAM
8
The OpenFOAM Foundation
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
sigWriteNow.H
Go to the documentation of this file.
1
/*---------------------------------------------------------------------------*\
2
========= |
3
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
4
\\ / O peration | Website: https://openfoam.org
5
\\ / A nd | Copyright (C) 2011-2019 OpenFOAM Foundation
6
\\/ M anipulation |
7
-------------------------------------------------------------------------------
8
License
9
This file is part of OpenFOAM.
10
11
OpenFOAM is free software: you can redistribute it and/or modify it
12
under the terms of the GNU General Public License as published by
13
the Free Software Foundation, either version 3 of the License, or
14
(at your option) any later version.
15
16
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
17
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
19
for more details.
20
21
You should have received a copy of the GNU General Public License
22
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
23
24
Class
25
Foam::sigWriteNow
26
27
Description
28
Signal handler for interrupt defined by OptimisationSwitches::writeNowSignal
29
30
Write once and continue.
31
32
SourceFiles
33
sigWriteNow.C
34
35
\*---------------------------------------------------------------------------*/
36
37
#ifndef sigWriteNow_H
38
#define sigWriteNow_H
39
40
#include <signal.h>
41
42
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
43
44
namespace
Foam
45
{
46
47
class
Time;
48
49
/*---------------------------------------------------------------------------*\
50
Class sigWriteNow Declaration
51
\*---------------------------------------------------------------------------*/
52
53
class
sigWriteNow
54
{
55
// Private Data
56
57
//- Number of signal to use
58
static
int
signal_;
59
60
//- Pointer to Time
61
static
Time
* runTimePtr_;
62
63
//- Saved old signal trapping setting
64
static
struct
sigaction oldAction_;
65
66
67
// Private Member Functions
68
69
static
void
sigHandler(
int
);
70
71
72
public
:
73
74
friend
class
sigStopAtWriteNow
;
75
76
//- wip. Have setter have access to signal_
77
friend
class
addwriteNowSignalToOpt
;
78
79
// Constructors
80
81
//- Construct null
82
sigWriteNow
();
83
84
//- Construct from components
85
sigWriteNow
(
const
bool
verbose,
Time
&
runTime
);
86
87
88
//- Destructor
89
~sigWriteNow
();
90
91
92
// Member Functions
93
94
//- (re)set signal catcher
95
static
void
set
(
const
bool
verbose);
96
97
//- Is active?
98
bool
active
()
const
;
99
};
100
101
102
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
103
104
}
// End namespace Foam
105
106
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
107
108
#endif
109
110
// ************************************************************************* //
Foam::addwriteNowSignalToOpt
Definition:
sigWriteNow.C:44
runTime
engineTime & runTime
Definition:
createEngineTime.H:13
Foam::sigWriteNow::~sigWriteNow
~sigWriteNow()
Destructor.
Definition:
sigWriteNow.C:110
Foam::Time
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
Definition:
Time.H:68
Foam::sigWriteNow::active
bool active() const
Is active?
Definition:
sigWriteNow.C:152
Foam::sigWriteNow
Signal handler for interrupt defined by OptimisationSwitches::writeNowSignal.
Definition:
sigWriteNow.H:52
Foam::sigStopAtWriteNow
Signal handler for interrupt defined by OptimisationSwitches::stopAtWriteNowSignal.
Definition:
sigStopAtWriteNow.H:53
Foam::sigWriteNow::sigWriteNow
sigWriteNow()
Construct null.
Definition:
sigWriteNow.C:95
Foam
Namespace for OpenFOAM.
Definition:
atmBoundaryLayer.H:213
src
OSspecific
POSIX
signals
sigWriteNow.H
Generated by
1.8.13