mirror of
https://github.com/rakshasa/rtorrent.git
synced 2026-10-19 07:36:16 +00:00
Merge branch 'master' into feature/ipc-worker
This commit is contained in:
@@ -39,7 +39,7 @@ jobs:
|
|||||||
|
|
||||||
# 2. Check for multiple consecutive blank lines
|
# 2. Check for multiple consecutive blank lines
|
||||||
# This regex looks for 2 or more empty lines anywhere in the message
|
# This regex looks for 2 or more empty lines anywhere in the message
|
||||||
if echo "$CLEAN_MSG" | grep -pz '(\r?\n){3,}'; then
|
if echo "$CLEAN_MSG" | grep -Pz '(\r?\n){3,}'; then
|
||||||
echo "❌ Error: Commit message contains multiple consecutive line breaks."
|
echo "❌ Error: Commit message contains multiple consecutive line breaks."
|
||||||
echo " Commit: '$SUBJECT'"
|
echo " Commit: '$SUBJECT'"
|
||||||
FAILED=1
|
FAILED=1
|
||||||
|
|||||||
+3
-3
@@ -1,6 +1,6 @@
|
|||||||
m4_pattern_allow([PKG_CHECK_EXISTS])
|
m4_pattern_allow([PKG_CHECK_EXISTS])
|
||||||
|
|
||||||
AC_INIT([rtorrent],[0.16.19],[sundell.software@gmail.com])
|
AC_INIT([rtorrent],[0.16.20],[sundell.software@gmail.com])
|
||||||
|
|
||||||
AC_CONFIG_HEADERS([config.h])
|
AC_CONFIG_HEADERS([config.h])
|
||||||
AC_CONFIG_MACRO_DIRS([scripts])
|
AC_CONFIG_MACRO_DIRS([scripts])
|
||||||
@@ -14,7 +14,7 @@ AX_CXX_COMPILE_STDCXX(20, noext, mandatory)
|
|||||||
|
|
||||||
PKG_PROG_PKG_CONFIG
|
PKG_PROG_PKG_CONFIG
|
||||||
|
|
||||||
AC_DEFINE([API_VERSION], [24], [api version])
|
AC_DEFINE([API_VERSION], [25], [api version])
|
||||||
|
|
||||||
RAK_CHECK_CFLAGS
|
RAK_CHECK_CFLAGS
|
||||||
RAK_CHECK_CXXFLAGS
|
RAK_CHECK_CXXFLAGS
|
||||||
@@ -47,7 +47,7 @@ fi
|
|||||||
|
|
||||||
PKG_CHECK_MODULES([CPPUNIT], [cppunit],, [no_cppunit="yes"])
|
PKG_CHECK_MODULES([CPPUNIT], [cppunit],, [no_cppunit="yes"])
|
||||||
PKG_CHECK_MODULES([ZLIB], [zlib])
|
PKG_CHECK_MODULES([ZLIB], [zlib])
|
||||||
PKG_CHECK_MODULES([DEPENDENCIES], [libtorrent >= 0.16.19])
|
PKG_CHECK_MODULES([DEPENDENCIES], [libtorrent >= 0.16.20])
|
||||||
|
|
||||||
AC_LANG_PUSH(C++)
|
AC_LANG_PUSH(C++)
|
||||||
TORRENT_WITH_XMLRPC_C
|
TORRENT_WITH_XMLRPC_C
|
||||||
|
|||||||
+10
-2
@@ -243,6 +243,8 @@ initialize_command_local() {
|
|||||||
CMD_ANY ("system.sockets.max_size", [](auto, auto) { return torrent::runtime::socket_manager()->max_size(); });
|
CMD_ANY ("system.sockets.max_size", [](auto, auto) { return torrent::runtime::socket_manager()->max_size(); });
|
||||||
CMD_ANY_VALUE_V ("system.sockets.max_size.set", [](auto, auto& value) { return torrent::runtime::socket_manager()->set_max_size_and_adjust(value); });
|
CMD_ANY_VALUE_V ("system.sockets.max_size.set", [](auto, auto& value) { return torrent::runtime::socket_manager()->set_max_size_and_adjust(value); });
|
||||||
CMD_ANY_V ("system.sockets.adjust_alloc", [](auto, auto) { torrent::runtime::socket_manager()->adjust_allocation(); });
|
CMD_ANY_V ("system.sockets.adjust_alloc", [](auto, auto) { torrent::runtime::socket_manager()->adjust_allocation(); });
|
||||||
|
CMD_ANY ("system.sockets.reserved_alloc", [](auto, auto) { return torrent::runtime::socket_manager()->reserved_allocation(); });
|
||||||
|
CMD_ANY ("system.sockets.available_alloc", [](auto, auto) { return torrent::runtime::socket_manager()->available_allocation(); });
|
||||||
|
|
||||||
for (uint32_t i = 0; i < torrent::runtime::SocketManager::category_count; ++i) {
|
for (uint32_t i = 0; i < torrent::runtime::SocketManager::category_count; ++i) {
|
||||||
auto category = static_cast<torrent::runtime::socket_manager_category_t>(i);
|
auto category = static_cast<torrent::runtime::socket_manager_category_t>(i);
|
||||||
@@ -251,8 +253,10 @@ initialize_command_local() {
|
|||||||
CMD_ANY (category_name + ".size", [category](auto, auto) { return torrent::runtime::socket_manager()->category_managed_size(category); });
|
CMD_ANY (category_name + ".size", [category](auto, auto) { return torrent::runtime::socket_manager()->category_managed_size(category); });
|
||||||
CMD_ANY (category_name + ".max_size", [category](auto, auto) { return torrent::runtime::socket_manager()->category_max_size(category); });
|
CMD_ANY (category_name + ".max_size", [category](auto, auto) { return torrent::runtime::socket_manager()->category_max_size(category); });
|
||||||
|
|
||||||
if (i == 0)
|
if (i == 0) {
|
||||||
|
CMD_ANY (category_name + ".min_alloc", [](auto, auto) { return torrent::runtime::socket_manager()->generic_min_allocation(); });
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
CMD_ANY (category_name + ".min_alloc", [category](auto, auto) { return torrent::runtime::socket_manager()->category_min_allocation(category); });
|
CMD_ANY (category_name + ".min_alloc", [category](auto, auto) { return torrent::runtime::socket_manager()->category_min_allocation(category); });
|
||||||
CMD_ANY (category_name + ".max_alloc", [category](auto, auto) { return torrent::runtime::socket_manager()->category_max_allocation(category); });
|
CMD_ANY (category_name + ".max_alloc", [category](auto, auto) { return torrent::runtime::socket_manager()->category_max_allocation(category); });
|
||||||
@@ -348,6 +352,8 @@ initialize_command_local() {
|
|||||||
|
|
||||||
rpc::rpc.mark_safe("system.sockets.size");
|
rpc::rpc.mark_safe("system.sockets.size");
|
||||||
rpc::rpc.mark_safe("system.sockets.max_size");
|
rpc::rpc.mark_safe("system.sockets.max_size");
|
||||||
|
rpc::rpc.mark_safe("system.sockets.reserved_alloc");
|
||||||
|
rpc::rpc.mark_safe("system.sockets.available_alloc");
|
||||||
|
|
||||||
for (uint32_t i = 0; i < torrent::runtime::SocketManager::category_count; ++i) {
|
for (uint32_t i = 0; i < torrent::runtime::SocketManager::category_count; ++i) {
|
||||||
auto category_name = "system.sockets." + torrent::option_to_str_or_throw(torrent::OPTION_SOCKET_CATEGORY, i);
|
auto category_name = "system.sockets." + torrent::option_to_str_or_throw(torrent::OPTION_SOCKET_CATEGORY, i);
|
||||||
@@ -355,8 +361,10 @@ initialize_command_local() {
|
|||||||
rpc::rpc.mark_safe(category_name + ".size");
|
rpc::rpc.mark_safe(category_name + ".size");
|
||||||
rpc::rpc.mark_safe(category_name + ".max_size");
|
rpc::rpc.mark_safe(category_name + ".max_size");
|
||||||
|
|
||||||
if (i == 0)
|
if (i == 0) {
|
||||||
|
rpc::rpc.mark_safe(category_name + ".min_alloc");
|
||||||
continue;
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
rpc::rpc.mark_safe(category_name + ".min_alloc");
|
rpc::rpc.mark_safe(category_name + ".min_alloc");
|
||||||
rpc::rpc.mark_safe(category_name + ".max_alloc");
|
rpc::rpc.mark_safe(category_name + ".max_alloc");
|
||||||
|
|||||||
+2
-3
@@ -391,13 +391,12 @@ main(int argc, char** argv) {
|
|||||||
|
|
||||||
CMD_REDIRECT("bind", "network.bind_address.set");
|
CMD_REDIRECT("bind", "network.bind_address.set");
|
||||||
CMD_REDIRECT("ip", "network.local_address.set");
|
CMD_REDIRECT("ip", "network.local_address.set");
|
||||||
CMD_REDIRECT("port_range", "network.port_range.set");
|
|
||||||
|
|
||||||
// TODO: Check if dht is on by default.
|
// TODO: Check if dht is on by default.
|
||||||
CMD_REDIRECT("dht", "dht.mode.set");
|
CMD_REDIRECT("dht", "dht.mode.set");
|
||||||
|
|
||||||
CMD_REDIRECT("port_random", "network.port_random.set");
|
CMD_REDIRECT("port_random", "network.listen.port.random.set");
|
||||||
CMD_REDIRECT("proxy_address", "network.proxy_address.set");
|
CMD_REDIRECT("proxy_address", "network.proxy.http.set");
|
||||||
|
|
||||||
CMD_REDIRECT("key_layout", "keys.layout.set");
|
CMD_REDIRECT("key_layout", "keys.layout.set");
|
||||||
|
|
||||||
|
|||||||
@@ -18,6 +18,8 @@ public:
|
|||||||
|
|
||||||
void wait_for(uint32_t max_remaining);
|
void wait_for(uint32_t max_remaining);
|
||||||
|
|
||||||
|
// TODO: Add a signal handler to tell the worker thread to wake up. Use a counter to batch wakeups.
|
||||||
|
|
||||||
private:
|
private:
|
||||||
WaitpidQueue(const WaitpidQueue&) = delete;
|
WaitpidQueue(const WaitpidQueue&) = delete;
|
||||||
WaitpidQueue& operator=(const WaitpidQueue&) = delete;
|
WaitpidQueue& operator=(const WaitpidQueue&) = delete;
|
||||||
|
|||||||
@@ -45,8 +45,8 @@ TestCommandLocal::test_socket_category_commands() {
|
|||||||
|
|
||||||
CPPUNIT_ASSERT(rpc::commands.has(name + ".size"));
|
CPPUNIT_ASSERT(rpc::commands.has(name + ".size"));
|
||||||
CPPUNIT_ASSERT(rpc::commands.has(name + ".max_size"));
|
CPPUNIT_ASSERT(rpc::commands.has(name + ".max_size"));
|
||||||
|
CPPUNIT_ASSERT(rpc::commands.has(name + ".min_alloc"));
|
||||||
|
|
||||||
CPPUNIT_ASSERT_EQUAL(has_allocation, rpc::commands.has(name + ".min_alloc"));
|
|
||||||
CPPUNIT_ASSERT_EQUAL(has_allocation, rpc::commands.has(name + ".max_alloc"));
|
CPPUNIT_ASSERT_EQUAL(has_allocation, rpc::commands.has(name + ".max_alloc"));
|
||||||
CPPUNIT_ASSERT_EQUAL(has_allocation, rpc::commands.has(name + ".min_alloc.set"));
|
CPPUNIT_ASSERT_EQUAL(has_allocation, rpc::commands.has(name + ".min_alloc.set"));
|
||||||
CPPUNIT_ASSERT_EQUAL(has_allocation, rpc::commands.has(name + ".max_alloc.set"));
|
CPPUNIT_ASSERT_EQUAL(has_allocation, rpc::commands.has(name + ".max_alloc.set"));
|
||||||
|
|||||||
Reference in New Issue
Block a user