mirror of
https://github.com/postgres/postgres.git
synced 2025-12-30 00:17:47 -05:00
Make sure IOV_MAX is defined.
We stopped defining IOV_MAX on non-Windows systems in 75357ab94, on the assumption that every non-Windows system defines it in <limits.h> as required by X/Open. GNU Hurd, however, doesn't follow that standard either. Put back the old logic to assume 16 if it's not defined. Author: Michael Banck <mbanck@gmx.net> Co-authored-by: Christoph Berg <myon@debian.org> Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us> Discussion: https://postgr.es/m/6862e8d1.050a0220.194b8d.76fa@mx.google.com Discussion: https://postgr.es/m/6846e0c3.df0a0220.39ef9b.c60e@mx.google.com Backpatch-through: 16
This commit is contained in:
parent
29213636e6
commit
1fd772d192
@ -21,9 +21,6 @@
|
||||
|
||||
#else
|
||||
|
||||
/* POSIX requires at least 16 as a maximum iovcnt. */
|
||||
#define IOV_MAX 16
|
||||
|
||||
/* Define our own POSIX-compatible iovec struct. */
|
||||
struct iovec
|
||||
{
|
||||
@ -33,6 +30,15 @@ struct iovec
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* If <limits.h> didn't define IOV_MAX, define our own. X/Open requires at
|
||||
* least 16. (GNU Hurd apparently feel that they're not bound by X/Open,
|
||||
* because they don't define this symbol at all.)
|
||||
*/
|
||||
#ifndef IOV_MAX
|
||||
#define IOV_MAX 16
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Define a reasonable maximum that is safe to use on the stack in arrays of
|
||||
* struct iovec and other small types. The operating system could limit us to
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user