PHP 8.2.30
Preview: BackgroundEventLoop.h Size: 2.13 KB
/proc/thread-self/root/opt/cpanel/ea-ruby27/src/passenger-release-6.1.2/src/cxx_supportlib/BackgroundEventLoop.h

/*
 *  Phusion Passenger - https://www.phusionpassenger.com/
 *  Copyright (c) 2011-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.
 */
#ifndef _BACKGROUND_EVENT_LOOP_H_
#define _BACKGROUND_EVENT_LOOP_H_

#include <boost/shared_ptr.hpp>
#include <string>
#include <pthread.h>

extern "C" {
	struct ev_loop;
	struct uv_loop_s;
}

namespace Passenger {
	using namespace std;
	using namespace boost;

	class SafeLibev;
	struct BackgroundEventLoopPrivate;

	/**
	 * Implements a libev event loop that runs in a background thread.
	 */
	struct BackgroundEventLoop {
		struct ev_loop *libev_loop;
		struct uv_loop_s *libuv_loop;
		boost::shared_ptr<SafeLibev> safe;
		BackgroundEventLoopPrivate *priv;

		BackgroundEventLoop(bool scalable = false, bool usesLibuv = true);
		~BackgroundEventLoop();

		void start(const string &threadName = "", unsigned int stackSize = 1024 * 1024);
		void stop();
		bool isStarted() const;
		pthread_t getNativeHandle() const;
	};

}

#endif /* _BACKGROUND_EVENT_LOOP_H_ */

Directory Contents

Dirs: 20 × Files: 20

Name Size Perms Modified Actions
- drwxr-xr-x 2026-02-13 08:03:52
Edit Download
- drwxr-xr-x 2026-02-13 08:03:52
Edit Download
ConfigKit DIR
- drwxr-xr-x 2026-02-13 08:03:52
Edit Download
- drwxr-xr-x 2026-02-13 08:03:52
Edit Download
FileTools DIR
- drwxr-xr-x 2026-02-13 08:03:52
Edit Download
- drwxr-xr-x 2026-02-13 08:03:52
Edit Download
IOTools DIR
- drwxr-xr-x 2026-02-13 08:03:52
Edit Download
JsonTools DIR
- drwxr-xr-x 2026-02-13 08:03:52
Edit Download
- drwxr-xr-x 2026-02-13 08:03:52
Edit Download
MemoryKit DIR
- drwxr-xr-x 2026-02-13 08:03:52
Edit Download
oxt DIR
- drwxr-xr-x 2026-02-13 08:03:52
Edit Download
- drwxr-xr-x 2026-02-13 08:03:52
Edit Download
- drwxr-xr-x 2026-02-13 08:03:52
Edit Download
ServerKit DIR
- drwxr-xr-x 2026-02-13 08:03:52
Edit Download
- drwxr-xr-x 2026-02-13 08:03:52
Edit Download
- drwxr-xr-x 2026-02-13 08:03:52
Edit Download
Utils DIR
- drwxr-xr-x 2026-02-13 08:03:52
Edit Download
- drwxr-xr-x 2026-02-13 08:03:52
Edit Download
- drwxr-xr-x 2026-02-13 08:03:52
Edit Download
- drwxr-xr-x 2026-02-13 08:03:52
Edit Download
4.54 KB lrw-r--r-- 2026-01-27 23:50:52
Edit Download
9.83 KB lrw-r--r-- 2026-01-27 23:50:52
Edit Download
2.13 KB lrw-r--r-- 2026-01-27 23:50:52
Edit Download
4.82 KB lrw-r--r-- 2026-01-27 23:50:52
Edit Download
1.96 KB lrw-r--r-- 2026-01-27 23:50:52
Edit Download
6.36 KB lrw-r--r-- 2026-01-27 23:50:52
Edit Download
7.52 KB lrw-r--r-- 2026-01-27 23:50:52
Edit Download
8.85 KB lrw-r--r-- 2026-01-27 23:50:52
Edit Download
4.88 KB lrw-r--r-- 2026-01-27 23:50:52
Edit Download
9.11 KB lrw-r--r-- 2026-01-27 23:50:52
Edit Download
3.29 KB lrw-r--r-- 2026-01-27 23:50:52
Edit Download
4.90 KB lrw-r--r-- 2026-01-27 23:50:52
Edit Download
199 B lrw-r--r-- 2026-01-27 23:50:52
Edit Download
5.75 KB lrw-r--r-- 2026-01-27 23:50:52
Edit Download
7.83 KB lrw-r--r-- 2026-01-27 23:50:52
Edit Download
8.84 KB lrw-r--r-- 2026-01-27 23:50:52
Edit Download
9.07 KB lrw-r--r-- 2026-01-27 23:50:52
Edit Download
4.05 KB lrw-r--r-- 2026-01-27 23:50:52
Edit Download
3.86 KB lrw-r--r-- 2026-01-27 23:50:52
Edit Download
16.53 KB lrw-r--r-- 2026-01-27 23:50:52
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).