Re: Memory leak in wait
Hi Chet, Sorry for reviving an old discussion, I lost track back then. On Fri, 07 Nov 2014 08:24:07 -0500, Chet Ramey wrote: > On 11/7/14, 3:49 AM, Jean Delvare wrote: > > 2* If bash remembers the process statuses, how does one access the > >information? I couldn't find anything related to that in the manual > >page, but it's huge so maybe I missed it. > > You can use wait with a pid argument, maybe one that you saved earlier > in a script or obtained from `ps'. My question is, what is the point of keeping the information after wait has been called for that PID? If this is the only possible use of the information, I do not understand why the record is not discarded after calling "wait $pid". I think we will stay away from background sleep and wait for now, and instead use: read -t 1 -N 0 This was suggested by an lm-sensors user and as far as I can tell it fits the bill with no downside. Thanks, -- Jean Delvare SUSE L3 Support
certain strings both legal and illegal as associative array keys
Configuration Information [Automatically generated, do not change]: Machine: i686 OS: linux-gnu Compiler: i686-pc-linux-gnu-gcc Compilation CFLAGS: -DPROGRAM='bash' -DCONF_HOSTTYPE='i686' -DCONF_OSTYPE='linux-gnu' -DCONF_MACHTYPE='i686-pc-linux-gnu' -DCONF_VENDOR='pc' -DLOCALEDIR='/usr/share/locale' -DPACKAGE='bash' -DSHELL -DHAVE_CONFIG_H -I. -I./include -I. -I./include -I./lib -DDEFAULT_PATH_VALUE='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin' -DSTANDARD_UTILS_PATH='/bin:/usr/bin:/sbin:/usr/sbin' -DSYS_BASHRC='/etc/bash/bashrc' -DSYS_BASH_LOGOUT='/etc/bash/bash_logout' -DNON_INTERACTIVE_LOGIN_SHELLS -DSSH_SOURCE_BASHRC -O2 -march=native -pipe uname output: Linux evo 3.12.13-gentoo-3.12.13-custom #3 SMP Sat Jul 12 18:05:24 CDT 2014 i686 Intel(R) Pentium(R) 4 CPU 1.70GHz GenuineIntel GNU/Linux Machine Type: i686-pc-linux-gnu Bash Version: 4.2 Patch Level: 45 Release Status: release Description: A string is either legal or not legal as a key for an associative array. However, bash accepts certain keys in some contexts but not in other contexts, making a few strings both legal and illegal as associative array key values. Bash's behavior should be consistent. For instance, consider a key containing a single-quote character, "a'b". The follow script allows this key to be both defined and accessed, but not removed. If it can't be removed, it should fail to be set in the first place. (Or, better, since it can be set and accessed, it should be able to be unset.) The documentation says only that "associative arrays are referenced using arbitrary strings." If there are restrictions on the content of these strings, that should be documented. #!/bin/bash declare -A foo foo[a]="one" foo["a'b"]="two" echo "${foo[@]}" echo ${foo[a]} echo ${foo["a'b"]} unset foo[a] unset foo["a'b"]