[ https://issues.apache.org/jira/browse/TS-4885?focusedWorklogId=29490&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-29490 ]
ASF GitHub Bot logged work on TS-4885: -------------------------------------- Author: ASF GitHub Bot Created on: 22/Sep/16 09:23 Start Date: 22/Sep/16 09:23 Worklog Time Spent: 10m Work Description: Github user atsci commented on the issue: https://github.com/apache/trafficserver/pull/1040 FreeBSD build *successful*! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/849/ for details. Issue Time Tracking ------------------- Worklog Id: (was: 29490) Time Spent: 0.5h (was: 20m) > Incorrect checking of fds_throttle and fds_limit > ------------------------------------------------ > > Key: TS-4885 > URL: https://issues.apache.org/jira/browse/TS-4885 > Project: Traffic Server > Issue Type: Bug > Components: Core > Reporter: Oknet Xu > Time Spent: 0.5h > Remaining Estimate: 0h > > {code} > 902 static void > 903 check_fd_limit() > 904 { > 905 int fds_throttle = -1; > 906 REC_ReadConfigInteger(fds_throttle, > "proxy.config.net.connections_throttle"); > 907 if (fds_throttle > fds_limit + THROTTLE_FD_HEADROOM) { // > -------> Incorrect > 908 int new_fds_throttle = fds_limit - THROTTLE_FD_HEADROOM; > 909 if (new_fds_throttle < 1) { > 910 ink_abort("too few file descriptors (%d) available", fds_limit); > 911 } > 912 char msg[256]; > 913 snprintf(msg, sizeof(msg), "connection throttle too high, " > 914 "%d (throttle) + %d (internal use) > %d > (file descriptor limit), " > 915 "using throttle of %d", > 916 fds_throttle, THROTTLE_FD_HEADROOM, fds_limit, > new_fds_throttle); > 917 SignalWarning(MGMT_SIGNAL_SYSTEM_ERROR, msg); > 918 } > 919 } > {code} > {code} > 1001 static void > 1002 adjust_sys_settings(void) > 1003 { > ... > 1024 REC_ReadConfigInteger(fds_throttle, > "proxy.config.net.connections_throttle"); > 1025 > 1026 if (getrlimit(RLIMIT_NOFILE, &lim) == 0) { > 1027 if (fds_throttle > (int)(lim.rlim_cur + THROTTLE_FD_HEADROOM)) { // > ------> Incorrect > 1028 lim.rlim_cur = (lim.rlim_max = (rlim_t)fds_throttle); > 1029 if (setrlimit(RLIMIT_NOFILE, &lim) == 0 && > getrlimit(RLIMIT_NOFILE, &lim) == 0) { > 1030 fds_limit = (int)lim.rlim_cur; > 1031 syslog(LOG_NOTICE, "NOTE: RLIMIT_NOFILE(%d):cur(%d),max(%d)", > RLIMIT_NOFILE, (int)lim.rlim_cur, (int)lim.rlim_max); > 1032 } > 1033 } > 1034 } > ... > 1043 } > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)