bug-gnu-utils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 3.1.6 system() fails when at the ulimit of open files


From: Aharon Robbins
Subject: Re: 3.1.6 system() fails when at the ulimit of open files
Date: Wed, 14 Oct 2009 22:31:40 +0200

Hi. I just tried this with gawk 3.1.7 and 3.1.6 on my Linux system
and I cannot reproduce it.

$ mkdir z
$ ulimit -a
core file size          (blocks, -c) unlimited
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 32621
max locked memory       (kbytes, -l) 32
max memory size         (kbytes, -m) unlimited
open files                      (-n) 1024
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 10240
cpu time               (seconds, -t) unlimited
max user processes              (-u) 32621
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited
$ yes|head -2000|gawk-3.1.6 '{print "hi" > ("z/"z++)}END{system("echo 
hiho;date")}'
$ ls z | wc -l
2000

So, the usual questions:

1. What operating system?
2. What compiler?
3. Did you try recompiling from source if you used a pre-supplied binary?

Thanks,

Arnold

> Date: Wed, 14 Oct 2009 08:45:35 -0500
> Subject: 3.1.6 system() fails when at the ulimit of open files
> From: Chris Pearson <address@hidden>
> To: address@hidden
>
> With an open file limit of 1024:
>
> mkdir z
>
> yes|head -200|gawk '{print "hi" > ("z/"z++)}END{system("echo
> hiho;date")}'   # the system() call works
> yes|head -2000|gawk '{print "hi" > ("z/"z++)}END{system("echo
> hiho;date")}'   # the system() call doesnt work, even though all 2000
> files are created.
>
> So, I guess whatever decides to make room to open a new file getting
> called for system(), which is inconsistant with how open file juggling
> is handled by gawk in other cases, and probably easily fixed.   Or at
> the very least should print an error if not.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]