$23 GRAYBYTE WORDPRESS FILE MANAGER $23

SERVER : vnpttt-amd7f72-h1.vietnix.vn #1 SMP Fri May 24 12:42:50 UTC 2024
SERVER IP : 103.200.23.149 | ADMIN IP 216.73.216.22
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/cpanel/ea-ruby27/src/passenger-release-6.1.2/src/cxx_supportlib/

HOME
Current File : /opt/cpanel/ea-ruby27/src/passenger-release-6.1.2/src/cxx_supportlib//WatchdogLauncher.cpp
/*
 *  Phusion Passenger - https://www.phusionpassenger.com/
 *  Copyright (c) 2010-2025 Asynchronous B.V.
 *
 *  "Passenger", "Phusion Passenger" and "Union Station" are registered
 *  trademarks of Asynchronous B.V.
 *
 *  Permission is hereby granted, free of charge, to any person obtaining a copy
 *  of this software and associated documentation files (the "Software"), to deal
 *  in the Software without restriction, including without limitation the rights
 *  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 *  copies of the Software, and to permit persons to whom the Software is
 *  furnished to do so, subject to the following conditions:
 *
 *  The above copyright notice and this permission notice shall be included in
 *  all copies or substantial portions of the Software.
 *
 *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 *  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 *  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 *  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 *  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 *  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 *  THE SOFTWARE.
 */
#include <oxt/thread.hpp>
#include <set>
#include <cerrno>
#include <cstring>
#include <string.h>
#include <WatchdogLauncher.h>
#include <Exceptions.h>

using namespace std;
using namespace boost;
using namespace oxt;

extern "C" {


PsgWatchdogLauncher *
psg_watchdog_launcher_new(PsgIntegrationMode mode, char **error_message) {
	return (PsgWatchdogLauncher *) new Passenger::WatchdogLauncher(mode);
}

int
psg_watchdog_launcher_start(PsgWatchdogLauncher *l,
	const char *passengerRoot,
	PsgJsonValue *extraConfig,
	const PsgAfterForkCallback afterFork,
	void *callbackArgument,
	char **errorMessage)
{
	Passenger::WatchdogLauncher *launcher = (Passenger::WatchdogLauncher *) l;
	boost::this_thread::disable_syscall_interruption dsi;
	try {
		boost::function<void ()> afterForkFunctionObject;

		if (afterFork != NULL) {
			afterForkFunctionObject = boost::bind(afterFork, callbackArgument, extraConfig);
		}
		launcher->start(passengerRoot,
			*static_cast<Passenger::Json::Value *>(extraConfig),
			afterForkFunctionObject);
		return 1;
	} catch (const Passenger::SystemException &e) {
		errno = e.code();
		*errorMessage = strdup(e.what());
		return 0;
	} catch (const std::exception &e) {
		errno = -1;
		*errorMessage = strdup(e.what());
		return 0;
	}
}

const char *
psg_watchdog_launcher_get_core_address(PsgWatchdogLauncher *l, unsigned int *size) {
	Passenger::WatchdogLauncher *launcher = (Passenger::WatchdogLauncher *) l;
	if (size != NULL) {
		*size = launcher->getCoreAddress().size();
	}
	return launcher->getCoreAddress().c_str();
}

const char *
psg_watchdog_launcher_get_core_password(PsgWatchdogLauncher *l, unsigned int *size) {
	Passenger::WatchdogLauncher *launcher = (Passenger::WatchdogLauncher *) l;
	if (size != NULL) {
		*size = launcher->getCorePassword().size();
	}
	return launcher->getCorePassword().c_str();
}

const char *
psg_watchdog_launcher_get_instance_dir(PsgWatchdogLauncher *l, unsigned int *size) {
	Passenger::WatchdogLauncher *launcher = (Passenger::WatchdogLauncher *) l;
	if (size != NULL) {
		*size = launcher->getInstanceDir().size();
	}
	return launcher->getInstanceDir().c_str();
}

pid_t
psg_watchdog_launcher_get_pid(PsgWatchdogLauncher *l) {
	Passenger::WatchdogLauncher *launcher = (Passenger::WatchdogLauncher *) l;
	return launcher->getPid();
}

void
psg_watchdog_launcher_detach(PsgWatchdogLauncher *l) {
	Passenger::WatchdogLauncher *launcher = (Passenger::WatchdogLauncher *) l;
	launcher->detach();
}

void
psg_watchdog_launcher_free(PsgWatchdogLauncher *l) {
	Passenger::WatchdogLauncher *launcher = (Passenger::WatchdogLauncher *) l;
	delete launcher;
}


} // extern "C"

Current_dir [ NOT WRITEABLE ] Document_root [ WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
16 Mar 2026 5.03 PM
root / root
0755
Algorithms
--
16 Mar 2026 5.03 PM
root / root
0755
AppTypeDetector
--
16 Mar 2026 5.03 PM
root / root
0755
ConfigKit
--
16 Mar 2026 5.03 PM
root / root
0755
DataStructures
--
16 Mar 2026 5.03 PM
root / root
0755
FileTools
--
16 Mar 2026 5.03 PM
root / root
0755
IOTools
--
16 Mar 2026 5.03 PM
root / root
0755
Integrations
--
16 Mar 2026 5.03 PM
root / root
0755
JsonTools
--
16 Mar 2026 5.03 PM
root / root
0755
LoggingKit
--
16 Mar 2026 5.03 PM
root / root
0755
MemoryKit
--
16 Mar 2026 5.03 PM
root / root
0755
ProcessManagement
--
16 Mar 2026 5.03 PM
root / root
0755
SecurityKit
--
16 Mar 2026 5.03 PM
root / root
0755
ServerKit
--
16 Mar 2026 5.03 PM
root / root
0755
StrIntTools
--
16 Mar 2026 5.03 PM
root / root
0755
SystemTools
--
16 Mar 2026 5.03 PM
root / root
0755
Utils
--
16 Mar 2026 5.03 PM
root / root
0755
WrapperRegistry
--
16 Mar 2026 5.03 PM
root / root
0755
oxt
--
16 Mar 2026 5.03 PM
root / root
0755
vendor-copy
--
16 Mar 2026 5.03 PM
root / root
0755
vendor-modified
--
16 Mar 2026 5.03 PM
root / root
0755
AppLocalConfigFileUtils.h
4.539 KB
28 Jan 2026 6.50 AM
root / root
0644
BackgroundEventLoop.cpp
9.835 KB
28 Jan 2026 6.50 AM
root / root
0644
BackgroundEventLoop.h
2.126 KB
28 Jan 2026 6.50 AM
root / root
0644
Constants.h
4.815 KB
28 Jan 2026 6.50 AM
root / root
0644
Constants.h.cxxcodebuilder
1.964 KB
28 Jan 2026 6.50 AM
root / root
0644
Exceptions.cpp
6.363 KB
28 Jan 2026 6.50 AM
root / root
0644
Exceptions.h
7.521 KB
28 Jan 2026 6.50 AM
root / root
0644
FileDescriptor.h
8.848 KB
28 Jan 2026 6.50 AM
root / root
0644
Hooks.h
4.885 KB
28 Jan 2026 6.50 AM
root / root
0644
InstanceDirectory.h
9.111 KB
28 Jan 2026 6.50 AM
root / root
0644
LveLoggingDecorator.h
3.286 KB
28 Jan 2026 6.50 AM
root / root
0644
README.md
0.194 KB
28 Jan 2026 6.50 AM
root / root
0644
RandomGenerator.h
4.902 KB
28 Jan 2026 6.50 AM
root / root
0644
ResourceLocator.h
5.749 KB
28 Jan 2026 6.50 AM
root / root
0644
SafeLibev.h
7.826 KB
28 Jan 2026 6.50 AM
root / root
0644
StaticString.h
8.842 KB
28 Jan 2026 6.50 AM
root / root
0644
Utils.cpp
9.073 KB
28 Jan 2026 6.50 AM
root / root
0644
Utils.h
4.051 KB
28 Jan 2026 6.50 AM
root / root
0644
WatchdogLauncher.cpp
3.856 KB
28 Jan 2026 6.50 AM
root / root
0644
WatchdogLauncher.h
16.528 KB
28 Jan 2026 6.50 AM
root / root
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2026 CONTACT ME
Static GIF