git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH maint resend] compat: add missing #include <sys/resource.h>

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Mar 31, 2011, 22:59 UTC
Message-ID
<20110331225909.GA21429@elie>
In-Reply-To
<20110318202351.GA22696@elie>
Date: Fri, 18 Mar 2011 15:23:52 -0500

Starting with commit c793430 (Limit file descriptors used by packs, 2011-02-28), git uses getrlimit to tell how many file descriptors it can use. Unfortunately it does not include the header declaring that function, resulting in compilation errors:

 sha1_file.c: In function 'open_packed_git_1':
 sha1_file.c:718: error: storage size of 'lim' isn't known
 sha1_file.c:721: warning: implicit declaration of function 'getrlimit'
 sha1_file.c:721: error: 'RLIMIT_NOFILE' undeclared (first use in this function)
 sha1_file.c:718: warning: unused variable 'lim'

The standard header to include for this is <sys/resource.h> (which on some systems itself requires declarations from <sys/types.h> or <sys/time.h>). Probably the problem was missed until now because in current glibc sys/resource.h happens to be included by sys/wait.h.

MinGW does not provide sys/resource.h (and compat/mingw takes care of providing getrlimit some other way), so add the missing #include to the "#ifndef __MINGW32__" block in git-compat-util.h.

Reported-by: Stefan Sperling <stsp@stsp.name>
Tested-by: Stefan Sperling <stsp@stsp.name> [on OpenBSD]
Tested-by: Arnaud Lacombe <lacombar@gmail.com> [on FreeBSD 8]
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
Oops, should have sent this as its own message before.  Thanks to
doug on irc for a ping.
 git-compat-util.h |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/git-compat-util.h b/git-compat-util.h
index bf947b1..79b5122 100644
--- a/git-compat-util.h
+++ b/git-compat-util.h
@@ -118,6 +118,7 @@
 #endif
 #ifndef __MINGW32__
 #include <sys/wait.h>
+#include <sys/resource.h>
 #include <sys/socket.h>
 #include <sys/ioctl.h>
 #include <termios.h>
-- 
1.7.4.2
Previous: Stefan SperlingNext: Jonathan Nieder
Message 5 of 7 in “Include headers for getrlimit() in sha1_file.c”
  1. Include headers for getrlimit() in sha1_file.cStefan Sperling, Mar 16, 2011
  2. Jonathan NiederMar 18, 2011
  3. Arnaud LacombeMar 19, 2011
  4. Stefan SperlingMar 19, 2011
  5. compat: add missing #include <sys/resource.h>Jonathan Nieder, Mar 31, 2011
  6. Jonathan NiederApr 3, 2011
  7. Junio C HamanoApr 3, 2011

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.