This is an automated email from the ASF dual-hosted git repository.

cmcfarlen pushed a commit to branch 10.0.x
in repository https://gitbox.apache.org/repos/asf/trafficserver.git

commit a28abefc2565b0112f8d4a2bb2f9dbef5659539c
Author: Damian Meden <[email protected]>
AuthorDate: Tue Aug 20 10:53:51 2024 +0200

    NetHandler - Use the right type to hold additional_accepts config value. 
(#11659)
    
    Changed from unsigned to signed as this is what's expected. This PR also
    makes sure the records validity check passes.
    
    (cherry picked from commit 3a2177a09748c62b63098979cdd822d3e7eb765e)
---
 include/iocore/net/NetHandler.h |  2 +-
 src/iocore/net/NetHandler.cc    | 19 +++++++++++--------
 src/records/RecordsConfig.cc    |  2 +-
 3 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/include/iocore/net/NetHandler.h b/include/iocore/net/NetHandler.h
index a78f029c6f..2c84f4e865 100644
--- a/include/iocore/net/NetHandler.h
+++ b/include/iocore/net/NetHandler.h
@@ -236,7 +236,7 @@ private:
   // TS_EVENT_MGMT_UPDATE event like with the Config settings above because
   // accept threads are not always on a standard NET thread with a NetHandler
   // that has TS_EVENT_MGMT_UPDATE handling logic.
-  static std::atomic<uint32_t> additional_accepts;
+  static std::atomic<int32_t>  additional_accepts;
   static std::atomic<uint32_t> per_client_max_connections_in;
 
   void _close_ne(NetEvent *ne, ink_hrtime now, int &handle_event, int &closed, 
int &total_idle_time, int &total_idle_count);
diff --git a/src/iocore/net/NetHandler.cc b/src/iocore/net/NetHandler.cc
index f83f09ad48..1b36780051 100644
--- a/src/iocore/net/NetHandler.cc
+++ b/src/iocore/net/NetHandler.cc
@@ -42,7 +42,7 @@ DbgCtl dbg_ctl_v_net_queue{"v_net_queue"};
 
 } // end anonymous namespace
 
-std::atomic<uint32_t> NetHandler::additional_accepts{0};
+std::atomic<int32_t>  NetHandler::additional_accepts{0};
 std::atomic<uint32_t> NetHandler::per_client_max_connections_in{0};
 
 // NetHandler method definitions
@@ -185,13 +185,16 @@ NetHandler::init_for_process()
   REC_ReadConfigInt32(global_config.default_inactivity_timeout, 
"proxy.config.net.default_inactivity_timeout");
 
   // Atomic configurations.
-  uint32_t val = 0;
-
-  REC_ReadConfigInt32(val, "proxy.config.net.additional_accepts");
-  additional_accepts.store(val, std::memory_order_relaxed);
-
-  REC_ReadConfigInt32(val, "proxy.config.net.per_client.max_connections_in");
-  per_client_max_connections_in.store(val, std::memory_order_relaxed);
+  {
+    int32_t val = 0;
+    REC_ReadConfigInt32(val, "proxy.config.net.additional_accepts");
+    additional_accepts.store(val, std::memory_order_relaxed);
+  }
+  {
+    uint32_t val = 0;
+    REC_ReadConfigInt32(val, "proxy.config.net.per_client.max_connections_in");
+    per_client_max_connections_in.store(val, std::memory_order_relaxed);
+  }
 
   RecRegisterConfigUpdateCb("proxy.config.net.max_connections_in", 
update_nethandler_config, nullptr);
   RecRegisterConfigUpdateCb("proxy.config.net.max_requests_in", 
update_nethandler_config, nullptr);
diff --git a/src/records/RecordsConfig.cc b/src/records/RecordsConfig.cc
index f36f0c0e55..8902515b8f 100644
--- a/src/records/RecordsConfig.cc
+++ b/src/records/RecordsConfig.cc
@@ -722,7 +722,7 @@ static const RecordElement RecordsConfig[] =
   //#
   
//##############################################################################
 
-  {RECT_CONFIG, "proxy.config.net.additional_accepts", RECD_INT, "-1", 
RECU_DYNAMIC, RR_NULL, RECC_INT, "^-1|[0-9]+$", RECA_NULL}
+  {RECT_CONFIG, "proxy.config.net.additional_accepts", RECD_INT, "-1", 
RECU_DYNAMIC, RR_NULL, RECC_STR, "^-1|[0-9]+$", RECA_NULL}
   ,
   {RECT_CONFIG, "proxy.config.net.connections_throttle", RECD_INT, "30000", 
RECU_RESTART_TS, RR_REQUIRED, RECC_STR, "^[0-9]+$", RECA_NULL}
   ,

Reply via email to