{"thread":{"id":"6","subject":"Re: Git usage and resource usage","startedAt":"2005-04-13T23:18:38Z","lastAt":"2005-04-13T23:18:38Z","messageCount":1,"participants":["Darren Williams"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"21","messageId":"20050413231838.GB10385@cse.unsw.EDU.AU","threadId":"6","inReplyTo":"20050413152948.D2442@banaan.localdomain","subject":"Re: Git usage and resource usage","fromName":"Darren Williams","fromEmail":"dsw@gelato.unsw.edu.au","sentAt":"2005-04-13T23:18:38Z","receivedAt":"2005-04-13T23:18:38Z","isPatch":false,"sender":{"key":"dsw@gelato.unsw.edu.au","avatar":null},"body":"Hi Erik\n\nOn Wed, 13 Apr 2005, Erik van Konijnenburg wrote:\n\n> On Wed, Apr 13, 2005 at 11:06:22PM +1000, Darren Williams wrote:\n> >   Git(pasky) requires an excessive quantity of file\n> > descriptors, more than 1024 in a simple case and\n> > more than 16384 in a high workload case.\n> \n> Does this help?  Posted earlier today to the list,\n> but since there are no archives yet its hard to find.\n> \nYes that fixes it.\n\n% ulimit -n\n1024 \n\n% quilt pop -a\n% time git commit\n...\nEnter commit message, terminated by ctrl-D on a separate line:\n\nreal    0m7.762s\nuser    0m7.282s\nsys     0m0.459s\n\n> Regards,\n> Erik\n> \n> tree 70189060273990e945015845a1d97c03eac2346a\n> parent 97c9a63e76bf667c21f24a5cfa8172aff0dd1294\n> author Erik van Konijnenburg,,, <konijn@framboos> Wed Apr 13 13:32:13 2005\n> committer Erik van Konijnenburg,,, <konijn@framboos> Wed Apr 13 13:32:13 2005\n> \n> avoid fd leak.\n> .\n> Index: read-cache.c\n> ===================================================================\n> --- 833bb44b8e49daf0424f44cf300748da17945859/read-cache.c  (mode:100644 sha1:7cdd0f82992789e64f6ea272e43ee4af8cdf7f2a)\n> +++ 70189060273990e945015845a1d97c03eac2346a/read-cache.c  (mode:100644 sha1:7957377f2ddd107aa686f3ca4da51b74e6679baf)\n> @@ -251,11 +251,15 @@\n>  \t\tif (fd < 0)\n>  \t\t\treturn -1;\n>  \t\tmap = mmap(NULL, size, PROT_READ, MAP_PRIVATE, fd, 0);\n> -\t\tif (map == MAP_FAILED)\n> +\t\tif (map == MAP_FAILED) {\n> +\t\t\tclose(fd);\n>  \t\t\treturn -1;\n> +\t\t}\n>  \t\tif (memcmp(buf, map, size))\n>  \t\t\treturn error(\"SHA1 collision detected!\"\n>  \t\t\t\t\t\" This is bad, bad, BAD!\\a\\n\");\n> +\t\tmunmap(map, size);\n> +\t\tclose(fd);\n>  #endif\n>  \t\treturn 0;\n>  \t}\n--------------------------------------------------\nDarren Williams <dsw AT gelato.unsw.edu.au>\nGelato@UNSW <www.gelato.unsw.edu.au>\n--------------------------------------------------\n"}]}