--- rstudio-1.1.143/src/cpp/CMakeLists.txt.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/CMakeLists.txt 2019-04-30 18:03:57.109531679 +0200 @@ -147,7 +147,6 @@ iostreams program_options regex - signals system thread chrono --- rstudio-1.1.143/src/cpp/core/BoostErrors.cpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/core/BoostErrors.cpp 2019-04-30 18:14:58.434346841 +0200 @@ -148,7 +148,7 @@ boost::system::error_code ec_from_exception(const interprocess_exception& e) { if (e.get_error_code() == system_error) - return error_code(e.get_native_error(), get_system_category()) ; + return error_code(e.get_native_error(), system_category()) ; else return error_code(e.get_error_code(), interprocess_category()) ; } --- rstudio-1.1.143/src/cpp/core/DateTime.cpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/core/DateTime.cpp 2019-04-30 18:41:49.839481751 +0200 @@ -61,7 +61,7 @@ using namespace boost::posix_time; ptime time_t_epoch(date(1970,1,1)); - return time_t_epoch + seconds(sec); + return time_t_epoch + seconds(int64_t(sec)); } boost::posix_time::ptime timeFromMillisecondsSinceEpoch(int64_t ms) --- rstudio-1.1.143/src/cpp/core/Error.cpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/core/Error.cpp 2019-04-30 18:50:13.489560404 +0200 @@ -165,7 +165,7 @@ Error systemError(int value, const ErrorLocation& location) { using namespace boost::system ; - return Error(error_code(value, get_system_category()), location); + return Error(error_code(value, system_category()), location); } Error systemError(int value, @@ -173,7 +173,7 @@ const ErrorLocation& location) { using namespace boost::system ; - return Error(error_code(value, get_system_category()), cause, location); + return Error(error_code(value, system_category()), cause, location); } Error systemError(int value, --- rstudio-1.1.143/src/cpp/core/FilePath.cpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/core/FilePath.cpp 2019-04-30 19:08:36.191306900 +0200 @@ -950,7 +950,7 @@ "absolute path not permitted", boost::system::error_code( boost::system::errc::no_such_file_or_directory, - boost::system::get_system_category())); + boost::system::system_category())); } return complete(path); --- rstudio-1.1.143/src/cpp/core/file_lock/FileLock.cpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/core/file_lock/FileLock.cpp 2019-04-30 19:53:12.433089596 +0200 @@ -49,8 +49,8 @@ #endif const char * const kLocksConfPath = "/etc/rstudio/file-locks"; -const double kDefaultRefreshRate = 20.0; -const double kDefaultTimeoutInterval = 30.0; +const int64_t kDefaultRefreshRate = 20; +const int64_t kDefaultTimeoutInterval = 30; std::string lockTypeToString(FileLock::LockType type) { @@ -134,11 +134,11 @@ FileLock::s_defaultType = stringToLockType(settings.get("lock-type", kLockTypeDefault)); // timeout interval - double timeoutInterval = getFieldPositive(settings, "timeout-interval", kDefaultTimeoutInterval); + int64_t timeoutInterval = getFieldPositive(settings, "timeout-interval", kDefaultTimeoutInterval); FileLock::s_timeoutInterval = boost::posix_time::seconds(timeoutInterval); // refresh rate - double refreshRate = getFieldPositive(settings, "refresh-rate", kDefaultRefreshRate); + int64_t refreshRate = getFieldPositive(settings, "refresh-rate", kDefaultRefreshRate); FileLock::s_refreshRate = boost::posix_time::seconds(refreshRate); // logging --- rstudio-1.1.143/src/cpp/core/include/core/r_util/RFunctionInformation.hpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/core/include/core/r_util/RFunctionInformation.hpp 2019-04-30 21:29:45.820684223 +0200 @@ -75,9 +75,9 @@ const std::string& name() const { return name_; } const boost::optional& defaultValue() const { return defaultValue_; } boost::tribool hasDefault() const { return hasDefault_; } - bool isUsed() const { return isUsed_; } + bool isUsed() const { return bool(isUsed_); } void setIsUsed(bool value) { isUsed_ = value; } - bool isMissingnessHandled() const { return isMissingnessHandled_; } + bool isMissingnessHandled() const { return bool(isMissingnessHandled_); } void setMissingnessHandled(bool value) { isMissingnessHandled_ = value; } private: @@ -130,7 +130,7 @@ bool isPrimitive() { - return isPrimitive_ == true; + return bool(isPrimitive_ == true); } void setIsPrimitive(bool isPrimitive) --- rstudio-1.1.143/src/cpp/r/include/r/session/RConsoleHistory.hpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/r/include/r/session/RConsoleHistory.hpp 2019-04-30 21:38:32.871700755 +0200 @@ -20,7 +20,7 @@ #include #include -#include +#include #include @@ -44,7 +44,7 @@ public: typedef boost::circular_buffer::value_type value_type; typedef boost::circular_buffer::const_iterator const_iterator; - typedef boost::signal AddSignal; + typedef boost::signals2::signal AddSignal; private: ConsoleHistory(); @@ -86,7 +86,7 @@ core::Error loadFromFile(const core::FilePath& filePath, bool verifyFile); core::Error saveToFile(const core::FilePath& filePath) const; - boost::signals::connection connectOnAdd( + boost::signals2::connection connectOnAdd( const AddSignal::slot_function_type& slot) { return onAdd_.connect(slot); --- rstudio-1.1.143/src/cpp/monitor/include/monitor/MonitorClient.hpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/monitor/include/monitor/MonitorClient.hpp 2019-04-30 21:45:43.674343571 +0200 @@ -18,6 +18,8 @@ #include +#include + #include #include @@ -27,14 +29,6 @@ #include "MonitorConstants.hpp" -// forward declaration; boost/asio/io_service may cause errors if included more -// than once (Boost 1.50 on Win x64 only) -namespace RSTUDIO_BOOST_NAMESPACE { -namespace asio { - class io_service; -} -} - namespace rstudio { namespace monitor { --- rstudio-1.1.143/src/cpp/r/include/r/session/RGraphics.hpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/r/include/r/session/RGraphics.hpp 2019-04-30 21:51:36.872886926 +0200 @@ -56,7 +56,7 @@ #include #include -#include +#include #include #include @@ -162,7 +162,7 @@ virtual void clear() = 0; // subscribe to showManipulator event - virtual boost::signal& onShowManipulator() = 0; + virtual boost::signals2::signal& onShowManipulator() = 0; // set manipulator values virtual void setPlotManipulatorValues(const core::json::Object& values) = 0; --- rstudio-1.1.143/src/cpp/r/session/graphics/RGraphicsPlotManager.hpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/r/session/graphics/RGraphicsPlotManager.hpp 2019-04-30 21:56:03.636876362 +0200 @@ -22,7 +22,7 @@ #include #include #include -#include +#include #include #include @@ -45,10 +45,10 @@ struct GraphicsDeviceEvents { - boost::signal onNewPage; - boost::signal onDrawing; - boost::signal onResized; - boost::signal onClosed; + boost::signals2::signal onNewPage; + boost::signals2::signal onDrawing; + boost::signals2::signal onResized; + boost::signals2::signal onClosed; }; class PlotManipulatorManager; @@ -110,7 +110,7 @@ virtual void clear(); - virtual boost::signal& onShowManipulator() ; + virtual boost::signals2::signal& onShowManipulator() ; virtual void setPlotManipulatorValues(const core::json::Object& values); virtual void manipulatorPlotClicked(int x, int y); --- rstudio-1.1.143/src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.hpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.hpp 2019-04-30 22:05:43.147318776 +0200 @@ -16,7 +16,7 @@ #ifndef R_SESSION_GRAPHICS_PLOT_MANIPULATOR_MANAGER_HPP #define R_SESSION_GRAPHICS_PLOT_MANIPULATOR_MANAGER_HPP -#include +#include #include #include @@ -53,7 +53,7 @@ public: core::Error initialize(const UnitConversionFunctions& convert); - boost::signal& onShowManipulator() ; + boost::signals2::signal& onShowManipulator() ; void setPlotManipulatorValues(const core::json::Object& values); void manipulatorPlotClicked(int x, int y); @@ -85,7 +85,7 @@ bool replayingManipulator_; // manipulator event hook - boost::signal onShowManipulator_; + boost::signals2::signal onShowManipulator_; // unit conversion function UnitConversionFunctions convert_; --- rstudio-1.1.143/src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.cpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/r/session/graphics/RGraphicsPlotManipulatorManager.cpp 2019-04-30 22:08:26.619968572 +0200 @@ -184,7 +184,7 @@ } -boost::signal& PlotManipulatorManager::onShowManipulator() +boost::signals2::signal& PlotManipulatorManager::onShowManipulator() { return onShowManipulator_; } --- rstudio-1.1.143/src/cpp/r/session/graphics/RGraphicsPlotManager.cpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/r/session/graphics/RGraphicsPlotManager.cpp 2019-04-30 22:12:31.552894791 +0200 @@ -540,7 +540,7 @@ -boost::signal& PlotManager::onShowManipulator() +boost::signals2::signal& PlotManager::onShowManipulator() { return plotManipulatorManager().onShowManipulator(); } --- rstudio-1.1.143/src/cpp/session/include/session/SessionUserSettings.hpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/session/include/session/SessionUserSettings.hpp 2019-04-30 22:14:26.662303350 +0200 @@ -20,7 +20,7 @@ #include #include -#include +#include #include #include @@ -60,7 +60,7 @@ friend UserSettings& userSettings(); public: - boost::signal onChanged; + boost::signals2::signal onChanged; public: // COPYING: boost::noncopyable --- rstudio-1.1.143/src/cpp/session/include/session/SessionConsoleProcess.hpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/session/include/session/SessionConsoleProcess.hpp 2019-04-30 22:15:41.852955908 +0200 @@ -20,7 +20,7 @@ #include #include -#include +#include #include #include @@ -120,7 +120,7 @@ void setPromptHandler( const boost::function& onPrompt); - boost::signal& onExit() { return onExit_; } + boost::signals2::signal& onExit() { return onExit_; } std::string handle() const { return procInfo_->getHandle(); } InteractionMode interactionMode() const { return procInfo_->getInteractionMode(); } @@ -195,7 +195,7 @@ int lastInputSequence_; boost::function onPrompt_; - boost::signal onExit_; + boost::signals2::signal onExit_; // regex for prompt detection boost::regex controlCharsPattern_; --- rstudio-1.1.143/src/cpp/session/include/session/SessionModuleContext.hpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/session/include/session/SessionModuleContext.hpp 2019-04-30 22:17:50.683118588 +0200 @@ -21,7 +21,7 @@ #include #include -#include +#include #include #include @@ -316,34 +316,34 @@ // session events struct Events : boost::noncopyable { - boost::signal onSessionInfo; - boost::signal onClientInit; - boost::signal onBeforeExecute; - boost::signal onConsolePrompt; - boost::signal onConsoleInput; - boost::signal + boost::signals2::signal onSessionInfo; + boost::signals2::signal onClientInit; + boost::signals2::signal onBeforeExecute; + boost::signals2::signal onConsolePrompt; + boost::signals2::signal onConsoleInput; + boost::signals2::signal onActiveConsoleChanged; - boost::signal + boost::signals2::signal onConsoleOutput; - boost::signal onUserInterrupt; - boost::signal onDetectChanges; - boost::signal onSourceEditorFileSaved; - boost::signal onDeferredInit; - boost::signal afterSessionInitHook; - boost::signal onBackgroundProcessing; - boost::signal onShutdown; - boost::signal onQuit; - boost::signal&)> + boost::signals2::signal onUserInterrupt; + boost::signals2::signal onDetectChanges; + boost::signals2::signal onSourceEditorFileSaved; + boost::signals2::signal onDeferredInit; + boost::signals2::signal afterSessionInitHook; + boost::signals2::signal onBackgroundProcessing; + boost::signals2::signal onShutdown; + boost::signals2::signal onQuit; + boost::signals2::signal&)> onLibPathsChanged; - boost::signal onPackageLoaded; - boost::signal onPackageLibraryMutated; - boost::signal onPreferencesSaved; - boost::signal + boost::signals2::signal onPackageLoaded; + boost::signals2::signal onPackageLibraryMutated; + boost::signals2::signal onPreferencesSaved; + boost::signals2::signal onDistributedEvent; - boost::signal onPermissionsChanged; + boost::signals2::signal onPermissionsChanged; // signal for detecting extended type of documents - boost::signal), + boost::signals2::signal), firstNonEmpty > onDetectSourceExtendedType; }; --- rstudio-1.1.143/src/cpp/session/include/session/SessionSourceDatabase.hpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/session/include/session/SessionSourceDatabase.hpp 2019-04-30 22:18:33.162037081 +0200 @@ -21,7 +21,7 @@ #include #include -#include +#include #include #include @@ -203,14 +203,14 @@ // source database events struct Events : boost::noncopyable { - boost::signal)> onDocUpdated; - boost::signal)> onDocUpdated; + boost::signals2::signal)> onDocRenamed; - boost::signal onDocAdded; - boost::signal onDocAdded; + boost::signals2::signal)> onDocPendingRemove; - boost::signal onDocRemoved; - boost::signal onRemoveAll; + boost::signals2::signal onDocRemoved; + boost::signals2::signal onRemoveAll; }; Events& events(); --- rstudio-1.1.143/src/cpp/session/modules/SessionPlots.hpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/session/modules/SessionPlots.hpp 2019-05-01 07:09:47.229018563 +0200 @@ -16,7 +16,7 @@ #ifndef SESSION_PLOTS_HPP #define SESSION_PLOTS_HPP -#include +#include namespace rstudio { namespace core { @@ -35,9 +35,9 @@ struct Events : boost::noncopyable { - boost::signal onBeforeNewPlot; - boost::signal onBeforeNewGridPage; - boost::signal onNewPlot; + boost::signals2::signal onBeforeNewPlot; + boost::signals2::signal onBeforeNewGridPage; + boost::signals2::signal onNewPlot; }; Events& events(); --- rstudio-1.1.143/src/cpp/ext/websocketpp/transport/asio/connection.hpp.orig 2019-05-01 07:53:58.222087293 +0200 +++ rstudio-1.1.143/src/cpp/ext/websocketpp/transport/asio/connection.hpp 2019-05-01 07:54:08.975987464 +0200 @@ -422,7 +422,7 @@ m_io_service = io_service; if (config::enable_multithreading) { - m_strand = lib::make_shared( + m_strand = lib::make_shared( lib::ref(*io_service)); m_async_read_handler = m_strand->wrap(lib::bind( --- rstudio-1.1.143/src/cpp/session/include/session/projects/SessionProjects.hpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/session/include/session/projects/SessionProjects.hpp 2019-05-01 07:54:58.831948702 +0200 @@ -22,7 +22,7 @@ #include #include #include -#include +#include #include #include @@ -219,10 +219,10 @@ bool hasFileMonitor_; std::vector monitorSubscribers_; - boost::signal&)> onMonitoringEnabled_; - boost::signal&)> + boost::signals2::signal&)> onMonitoringEnabled_; + boost::signals2::signal&)> onFilesChanged_; - boost::signal onMonitoringDisabled_; + boost::signals2::signal onMonitoringDisabled_; }; ProjectContext& projectContext(); --- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/SessionRmdNotebook.hpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/SessionRmdNotebook.hpp 2019-05-01 08:19:48.877151705 +0200 @@ -18,7 +18,7 @@ #define SESSION_RMARKDOWN_NOTEBOOK_HPP #include -#include +#include #include #define kChunkLibDir "lib" @@ -76,24 +76,24 @@ struct Events : boost::noncopyable { // Document {0}, chunk {1} from context id {3} execution completed - boost::signal onChunkExecCompleted; // Document {0}, chunk {1} had console output of type {2} and text {3} - boost::signal onChunkConsoleOutput; - boost::signal onPlotOutput; - boost::signal onHtmlOutput; - boost::signal onErrorOutput; - boost::signal onErrorOutput; + boost::signals2::signal onDataOutput; - boost::signal + boost::signals2::signal onCondition; }; --- rstudio-1.1.143/src/cpp/session/SessionModuleContext.cpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/session/SessionModuleContext.cpp 2019-05-01 08:21:14.344989539 +0200 @@ -19,7 +19,8 @@ #include #include -#include +#include +#include #include #include @@ -571,13 +572,13 @@ int nextGroup_; - boost::signal, + boost::signals2::signal, int, std::less > suspendSignal_; - boost::signal, + boost::signals2::signal, int, std::greater > resumeSignal_; }; --- rstudio-1.1.143/src/cpp/session/SessionMain.cpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/session/SessionMain.cpp 2019-05-07 17:10:57.302926193 +0200 @@ -33,7 +33,6 @@ #include #include -#include #include #include #include --- rstudio-1.1.143/src/cpp/session/modules/SessionRParser.cpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/session/modules/SessionRParser.cpp 2019-05-07 18:07:34.070800364 +0200 @@ -390,7 +390,7 @@ if (!failed) { DEBUG("--- Found function in pkgInfo index: " << *fnInfo.binding()); - return fnInfo.performsNse(); + return bool(fnInfo.performsNse()); } // Handle some special cases first. --- rstudio-1.1.143/src/cpp/session/modules/build/SessionSourceCpp.cpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/session/modules/build/SessionSourceCpp.cpp 2019-05-07 18:13:46.346942192 +0200 @@ -15,7 +15,6 @@ #include "SessionSourceCpp.hpp" -#include #include #include #include --- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookPlots.hpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookPlots.hpp 2019-05-07 18:25:48.121369223 +0200 @@ -18,7 +18,7 @@ #define SESSION_NOTEBOOK_PLOTS_HPP #include -#include +#include #include #include @@ -80,9 +80,9 @@ unsigned lastOrdinal_; - boost::signals::connection onBeforeNewPlot_; - boost::signals::connection onBeforeNewGridPage_; - boost::signals::connection onNewPlot_; + boost::signals2::connection onBeforeNewPlot_; + boost::signals2::connection onBeforeNewGridPage_; + boost::signals2::connection onNewPlot_; double width_; double height_; --- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookExec.hpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookExec.hpp 2019-05-07 18:26:45.201022069 +0200 @@ -18,7 +18,7 @@ #include -#include +#include #include @@ -99,7 +99,7 @@ bool hasErrors_; std::vector > captures_; - std::vector connections_; + std::vector connections_; }; } // namespace notebook --- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookAlternateEngines.cpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookAlternateEngines.cpp 2019-05-07 18:28:01.345005619 +0200 @@ -142,7 +142,7 @@ LOG_ERROR(error); // capture console output, error - boost::signals::scoped_connection consoleHandler = + boost::signals2::scoped_connection consoleHandler = module_context::events().onConsoleOutput.connect( boost::bind(chunkConsoleOutputHandler, _1, @@ -219,7 +219,7 @@ LOG_ERROR(error); // capture console output, error - boost::signals::scoped_connection consoleHandler = + boost::signals2::scoped_connection consoleHandler = module_context::events().onConsoleOutput.connect( boost::bind(chunkConsoleOutputHandler, _1, @@ -363,7 +363,7 @@ LOG_ERROR(error); // capture console output, error - boost::signals::scoped_connection consoleHandler = + boost::signals2::scoped_connection consoleHandler = module_context::events().onConsoleOutput.connect( boost::bind(chunkConsoleOutputHandler, _1, --- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookCapture.cpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookCapture.cpp 2019-05-07 18:31:49.423604450 +0200 @@ -13,6 +13,8 @@ * */ +#include + #include "SessionRmdNotebook.hpp" #include "NotebookCapture.hpp" --- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookExec.cpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookExec.cpp 2019-05-07 18:41:06.369408303 +0200 @@ -441,7 +441,7 @@ } // unhook all our event handlers - BOOST_FOREACH(const boost::signals::connection connection, connections_) + BOOST_FOREACH(const boost::signals2::connection connection, connections_) { connection.disconnect(); } --- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookPlots.cpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookPlots.cpp 2019-05-07 18:52:17.788159856 +0200 @@ -20,7 +20,6 @@ #include #include -#include #include #include --- rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookQueue.cpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/session/modules/rmarkdown/NotebookQueue.cpp 2019-05-07 18:53:26.498462556 +0200 @@ -87,7 +87,7 @@ pInput_->enque(kThreadQuitCommand); // unregister handlers - BOOST_FOREACH(boost::signals::connection connection, handlers_) + BOOST_FOREACH(boost::signals2::connection connection, handlers_) { connection.disconnect(); } @@ -638,7 +638,7 @@ boost::shared_ptr execContext_; // registered signal handlers - std::vector handlers_; + std::vector handlers_; // the thread which submits console input, and the queue which feeds it boost::thread console_; --- rstudio-1.1.143/src/cpp/session/http/SessionLocalStreamHttpConnectionListener.hpp.orig 2017-04-12 00:42:14.000000000 +0200 +++ rstudio-1.1.143/src/cpp/session/http/SessionLocalStreamHttpConnectionListener.hpp 2019-05-07 19:04:36.460299876 +0200 @@ -77,7 +77,7 @@ if (permittedClients_.size() > 0) { // get socket - int socket = ptrConnection->socket().native(); + int socket = ptrConnection->socket().native_handle(); // get client identity core::system::user::UserIdentity userIdentity;