Author: brooks
Date: Thu Oct  4 21:55:58 2018
New Revision: 339184
URL: https://svnweb.freebsd.org/changeset/base/339184

Log:
  Reduce NL_ARGMAX to 4096 to match Linux.
  
  NL_ARGMAX is the maximum number of positional arguments supported by
  printf(3). Prior to r308145 it was declared as 99 and not enforced.
  r308145 added enforcement and increased the value to 64k.
  
  Unfortunately, development versions of PostgreSQL used the system
  definition to allocate and zero an NL_ARGMAX * 4 sized array on the
  stack of its snprintf implementation with measurable performance
  impacts. This has been fixed in new PostgreSQL versions, but it is
  possible that other programs suffer from this problem.
  
  A value of 4096 puts us on par with Linux and is certainly large enough
  for any reasonable program.
  
  Reviewed by:  mjg
  Reported by:  mjg
  Approved by:  re (gjb)
  Differential revision:        https://reviews.freebsd.org/D17387
  Differential revision:        https://reviews.freebsd.org/D8286

Modified:
  head/include/limits.h

Modified: head/include/limits.h
==============================================================================
--- head/include/limits.h       Thu Oct  4 20:01:48 2018        (r339183)
+++ head/include/limits.h       Thu Oct  4 21:55:58 2018        (r339184)
@@ -122,7 +122,7 @@
 #endif
 
 #if __XSI_VISIBLE || __POSIX_VISIBLE >= 200809
-#define        NL_ARGMAX               65536   /* max # of position args for 
printf */
+#define        NL_ARGMAX               4096    /* max # of position args for 
printf */
 #define        NL_MSGMAX               32767
 #define        NL_SETMAX               255
 #define        NL_TEXTMAX              2048
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to