Factor out code for starting new processes and test plasma store in valgrind. (#3824)

* Factor out starting Ray processes.

* Detect flags through environment variables.

* Return ProcessInfo from start_ray_process.

* Print valgrind errors at exit.

* Test valgrind in travis.

* Some valgrind fixes.

* Undo raylet monitor change.

* Only test plasma store in valgrind.
This commit is contained in:
Robert Nishihara
2019-01-22 14:59:11 -08:00
committed by Philipp Moritz
parent f0e6523323
commit 0b1608a546
11 changed files with 352 additions and 238 deletions
+12 -1
View File
@@ -31,8 +31,19 @@ int main(int argc, char *argv[]) {
RayConfig::instance().initialize(raylet_config);
// Initialize the monitor.
boost::asio::io_service io_service;
// The code below is commented out because it appears to introduce a double
// free error in the raylet monitor.
// // Destroy the Raylet monitor on a SIGTERM. The pointer to io_service is
// // guaranteed to be valid since this function will run the event loop
// // instead of returning immediately.
// auto handler = [&io_service](const boost::system::error_code &error,
// int signal_number) { io_service.stop(); };
// boost::asio::signal_set signals(io_service, SIGTERM);
// signals.async_wait(handler);
// Initialize the monitor.
ray::raylet::Monitor monitor(io_service, redis_address, redis_port, redis_password);
monitor.Start();
io_service.run();