mirror of
https://github.com/Xahau/xahaud.git
synced 2025-12-06 17:27:52 +00:00
Move Sustain to ripple_basics and clean up includes
This commit is contained in:
@@ -55,17 +55,19 @@
|
|||||||
#include "utility/ripple_UptimeTimer.cpp"
|
#include "utility/ripple_UptimeTimer.cpp"
|
||||||
#include "utility/ripple_StringUtilities.cpp"
|
#include "utility/ripple_StringUtilities.cpp"
|
||||||
|
|
||||||
|
#include "utility/ripple_ByteOrder.cpp"
|
||||||
|
#include "utility/ripple_Sustain.cpp"
|
||||||
|
#include "utility/ripple_ThreadName.cpp"
|
||||||
|
#include "utility/ripple_Time.cpp"
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
#include <windows.h> // for ripple_RandomNumbers.cpp
|
#include <windows.h> // for ripple_RandomNumbers.cpp
|
||||||
#include <wincrypt.h> // for ripple_RandomNumbers.cpp
|
#include <wincrypt.h> // for ripple_RandomNumbers.cpp
|
||||||
// Winsock #defines 'max' and does other stupid things so put it last
|
// Winsock #defines 'max' and does other stupid things so put it last
|
||||||
#include <Winsock2.h> // for ripple_ByteOrder.cpp
|
#include <Winsock2.h> // for ripple_ByteOrder.cpp
|
||||||
#endif
|
#endif
|
||||||
#include "utility/ripple_ByteOrder.cpp"
|
#include "utility/ripple_RandomNumbers.cpp" // has Win32/Posix dependencies
|
||||||
|
|
||||||
#include "utility/ripple_RandomNumbers.cpp"
|
|
||||||
#include "utility/ripple_ThreadName.cpp"
|
|
||||||
#include "utility/ripple_Time.cpp"
|
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
//#pragma warning (pop)
|
//#pragma warning (pop)
|
||||||
|
|||||||
@@ -58,7 +58,6 @@ namespace boost {
|
|||||||
|
|
||||||
|
|
||||||
// KeyCache
|
// KeyCache
|
||||||
#include <string>
|
|
||||||
#include <boost/unordered_map.hpp>
|
#include <boost/unordered_map.hpp>
|
||||||
#include <boost/thread/mutex.hpp>
|
#include <boost/thread/mutex.hpp>
|
||||||
|
|
||||||
@@ -108,6 +107,7 @@ namespace boost {
|
|||||||
#include "utility/ripple_UptimeTimer.h"
|
#include "utility/ripple_UptimeTimer.h"
|
||||||
#include "utility/ripple_PlatformMacros.h"
|
#include "utility/ripple_PlatformMacros.h"
|
||||||
#include "utility/ripple_RandomNumbers.h"
|
#include "utility/ripple_RandomNumbers.h"
|
||||||
|
#include "utility/ripple_Sustain.h"
|
||||||
#include "utility/ripple_ThreadName.h"
|
#include "utility/ripple_ThreadName.h"
|
||||||
#include "utility/ripple_Time.h"
|
#include "utility/ripple_Time.h"
|
||||||
|
|
||||||
|
|||||||
90
modules/ripple_basics/utility/ripple_Sustain.cpp
Normal file
90
modules/ripple_basics/utility/ripple_Sustain.cpp
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
/*
|
||||||
|
Copyright (c) 2011-2013, OpenCoin, Inc.
|
||||||
|
|
||||||
|
Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
purpose with or without fee is hereby granted, provided that the above
|
||||||
|
copyright notice and this permission notice appear in all copies.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*/
|
||||||
|
//==============================================================================
|
||||||
|
|
||||||
|
#ifdef __unix__
|
||||||
|
|
||||||
|
static pid_t pManager = static_cast<pid_t>(0);
|
||||||
|
static pid_t pChild = static_cast<pid_t>(0);
|
||||||
|
|
||||||
|
static void pass_signal(int a)
|
||||||
|
{
|
||||||
|
kill(pChild, a);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void stop_manager(int)
|
||||||
|
{
|
||||||
|
kill(pChild, SIGINT);
|
||||||
|
_exit(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool HaveSustain()
|
||||||
|
{
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string StopSustain()
|
||||||
|
{
|
||||||
|
if (getppid() != pManager)
|
||||||
|
return std::string();
|
||||||
|
kill(pManager, SIGHUP);
|
||||||
|
return "Terminating monitor";
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string DoSustain()
|
||||||
|
{
|
||||||
|
int childCount = 0;
|
||||||
|
pManager = getpid();
|
||||||
|
signal(SIGINT, stop_manager);
|
||||||
|
signal(SIGHUP, stop_manager);
|
||||||
|
signal(SIGUSR1, pass_signal);
|
||||||
|
signal(SIGUSR2, pass_signal);
|
||||||
|
while (1)
|
||||||
|
{
|
||||||
|
++childCount;
|
||||||
|
pChild = fork();
|
||||||
|
if (pChild == -1)
|
||||||
|
_exit(0);
|
||||||
|
if (pChild == 0)
|
||||||
|
{
|
||||||
|
setCallingThreadName("main");
|
||||||
|
signal(SIGINT, SIG_DFL);
|
||||||
|
signal(SIGHUP, SIG_DFL);
|
||||||
|
signal(SIGUSR1, SIG_DFL);
|
||||||
|
signal(SIGUSR2, SIG_DFL);
|
||||||
|
return str(boost::format("Launching child %d") % childCount);;
|
||||||
|
}
|
||||||
|
setCallingThreadName(boost::str(boost::format("#%d") % childCount).c_str());
|
||||||
|
do
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
sleep(10);
|
||||||
|
waitpid(-1, &i, 0);
|
||||||
|
}
|
||||||
|
while (kill(pChild, 0) == 0);
|
||||||
|
rename("core", boost::str(boost::format("core.%d") % static_cast<int>(pChild)).c_str());
|
||||||
|
rename("debug.log", boost::str(boost::format("debug.log.%d") % static_cast<int>(pChild)).c_str());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
bool HaveSustain() { return false; }
|
||||||
|
std::string DoSustain() { return std::string(); }
|
||||||
|
std::string StopSustain() { return std::string(); }
|
||||||
|
|
||||||
|
#endif
|
||||||
27
modules/ripple_basics/utility/ripple_Sustain.h
Normal file
27
modules/ripple_basics/utility/ripple_Sustain.h
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
/*
|
||||||
|
Copyright (c) 2011-2013, OpenCoin, Inc.
|
||||||
|
|
||||||
|
Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
purpose with or without fee is hereby granted, provided that the above
|
||||||
|
copyright notice and this permission notice appear in all copies.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
*/
|
||||||
|
//==============================================================================
|
||||||
|
|
||||||
|
#ifndef RIPPLE_SUSTAIN_H
|
||||||
|
#define RIPPLE_SUSTAIN_H
|
||||||
|
|
||||||
|
// VFALCO: TODO, figure out what the heck this is??
|
||||||
|
extern bool HaveSustain();
|
||||||
|
extern std::string StopSustain();
|
||||||
|
extern std::string DoSustain();
|
||||||
|
|
||||||
|
#endif
|
||||||
@@ -210,6 +210,12 @@
|
|||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="modules\ripple_basics\utility\ripple_Sustain.cpp">
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">true</ExcludedFromBuild>
|
||||||
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|x64'">true</ExcludedFromBuild>
|
||||||
|
</ClCompile>
|
||||||
<ClCompile Include="modules\ripple_basics\utility\ripple_ThreadName.cpp">
|
<ClCompile Include="modules\ripple_basics\utility\ripple_ThreadName.cpp">
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>
|
||||||
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>
|
||||||
@@ -1210,6 +1216,7 @@
|
|||||||
<ClInclude Include="modules\ripple_basics\utility\ripple_PlatformMacros.h" />
|
<ClInclude Include="modules\ripple_basics\utility\ripple_PlatformMacros.h" />
|
||||||
<ClInclude Include="modules\ripple_basics\utility\ripple_RandomNumbers.h" />
|
<ClInclude Include="modules\ripple_basics\utility\ripple_RandomNumbers.h" />
|
||||||
<ClInclude Include="modules\ripple_basics\utility\ripple_StringUtilities.h" />
|
<ClInclude Include="modules\ripple_basics\utility\ripple_StringUtilities.h" />
|
||||||
|
<ClInclude Include="modules\ripple_basics\utility\ripple_Sustain.h" />
|
||||||
<ClInclude Include="modules\ripple_basics\utility\ripple_ThreadName.h" />
|
<ClInclude Include="modules\ripple_basics\utility\ripple_ThreadName.h" />
|
||||||
<ClInclude Include="modules\ripple_basics\utility\ripple_Time.h" />
|
<ClInclude Include="modules\ripple_basics\utility\ripple_Time.h" />
|
||||||
<ClInclude Include="modules\ripple_basics\utility\ripple_UptimeTimer.h" />
|
<ClInclude Include="modules\ripple_basics\utility\ripple_UptimeTimer.h" />
|
||||||
|
|||||||
@@ -759,6 +759,9 @@
|
|||||||
<ClCompile Include="modules\ripple_basics\utility\ripple_UptimeTimer.cpp">
|
<ClCompile Include="modules\ripple_basics\utility\ripple_UptimeTimer.cpp">
|
||||||
<Filter>1. Modules\ripple_basics\utility</Filter>
|
<Filter>1. Modules\ripple_basics\utility</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
|
<ClCompile Include="modules\ripple_basics\utility\ripple_Sustain.cpp">
|
||||||
|
<Filter>1. Modules\ripple_basics\utility</Filter>
|
||||||
|
</ClCompile>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ClInclude Include="database\sqlite3ext.h">
|
<ClInclude Include="database\sqlite3ext.h">
|
||||||
@@ -1424,6 +1427,9 @@
|
|||||||
<ClInclude Include="modules\ripple_basics\utility\ripple_IntegerTypes.h">
|
<ClInclude Include="modules\ripple_basics\utility\ripple_IntegerTypes.h">
|
||||||
<Filter>1. Modules\ripple_basics\utility</Filter>
|
<Filter>1. Modules\ripple_basics\utility</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
|
<ClInclude Include="modules\ripple_basics\utility\ripple_Sustain.h">
|
||||||
|
<Filter>1. Modules\ripple_basics\utility</Filter>
|
||||||
|
</ClInclude>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="SConstruct" />
|
<None Include="SConstruct" />
|
||||||
|
|||||||
@@ -60,77 +60,4 @@ DH* DH_der_load(const std::string& strDer)
|
|||||||
return d2i_DHparams(NULL, &pbuf, strDer.size());
|
return d2i_DHparams(NULL, &pbuf, strDer.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef __unix__
|
|
||||||
|
|
||||||
static pid_t pManager = static_cast<pid_t>(0);
|
|
||||||
static pid_t pChild = static_cast<pid_t>(0);
|
|
||||||
|
|
||||||
static void pass_signal(int a)
|
|
||||||
{
|
|
||||||
kill(pChild, a);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void stop_manager(int)
|
|
||||||
{
|
|
||||||
kill(pChild, SIGINT);
|
|
||||||
_exit(0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool HaveSustain()
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string StopSustain()
|
|
||||||
{
|
|
||||||
if (getppid() != pManager)
|
|
||||||
return std::string();
|
|
||||||
kill(pManager, SIGHUP);
|
|
||||||
return "Terminating monitor";
|
|
||||||
}
|
|
||||||
|
|
||||||
std::string DoSustain()
|
|
||||||
{
|
|
||||||
int childCount = 0;
|
|
||||||
pManager = getpid();
|
|
||||||
signal(SIGINT, stop_manager);
|
|
||||||
signal(SIGHUP, stop_manager);
|
|
||||||
signal(SIGUSR1, pass_signal);
|
|
||||||
signal(SIGUSR2, pass_signal);
|
|
||||||
while (1)
|
|
||||||
{
|
|
||||||
++childCount;
|
|
||||||
pChild = fork();
|
|
||||||
if (pChild == -1)
|
|
||||||
_exit(0);
|
|
||||||
if (pChild == 0)
|
|
||||||
{
|
|
||||||
setCallingThreadName("main");
|
|
||||||
signal(SIGINT, SIG_DFL);
|
|
||||||
signal(SIGHUP, SIG_DFL);
|
|
||||||
signal(SIGUSR1, SIG_DFL);
|
|
||||||
signal(SIGUSR2, SIG_DFL);
|
|
||||||
return str(boost::format("Launching child %d") % childCount);;
|
|
||||||
}
|
|
||||||
setCallingThreadName(boost::str(boost::format("#%d") % childCount).c_str());
|
|
||||||
do
|
|
||||||
{
|
|
||||||
int i;
|
|
||||||
sleep(10);
|
|
||||||
waitpid(-1, &i, 0);
|
|
||||||
}
|
|
||||||
while (kill(pChild, 0) == 0);
|
|
||||||
rename("core", boost::str(boost::format("core.%d") % static_cast<int>(pChild)).c_str());
|
|
||||||
rename("debug.log", boost::str(boost::format("debug.log.%d") % static_cast<int>(pChild)).c_str());
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
bool HaveSustain() { return false; }
|
|
||||||
std::string DoSustain() { return std::string(); }
|
|
||||||
std::string StopSustain() { return std::string(); }
|
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// vim:ts=4
|
// vim:ts=4
|
||||||
|
|||||||
@@ -14,10 +14,6 @@
|
|||||||
DH* DH_der_load(const std::string& strDer);
|
DH* DH_der_load(const std::string& strDer);
|
||||||
std::string DH_der_gen(int iKeyLength);
|
std::string DH_der_gen(int iKeyLength);
|
||||||
|
|
||||||
extern bool HaveSustain();
|
|
||||||
extern std::string StopSustain();
|
|
||||||
extern std::string DoSustain();
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// vim:ts=4
|
// vim:ts=4
|
||||||
|
|||||||
Reference in New Issue
Block a user