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

Re: [Xen-devel] [PATCH] Fix locking in tools/hotplug/Linux/locking.sh



On Fri, 2012-11-09 at 13:56 +0000, Jacek Konieczny wrote:
> The claim_lock() function would fail in the perl code with:
> 
>   Invalid argument at -e line 2.
> 
> because the Perl snippet opens for reading the file descriptor, which
> was earlier opened for write (append).

Looks plausible to me.

How does this interact with the 
        eval "exec $_lockfd<&-"
which Olaf added in 26079:b3b03536789a ? I suppose close is close and
<&- and >&- or even <>&- are equivalent?

> 
> Signed-off-by: Jacek Konieczny <jajcus@xxxxxxxxxx>
> ---
>  tools/hotplug/Linux/locking.sh | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/hotplug/Linux/locking.sh b/tools/hotplug/Linux/locking.sh
> index e34f155..122bcfb 100644
> --- a/tools/hotplug/Linux/locking.sh
> +++ b/tools/hotplug/Linux/locking.sh
> @@ -44,7 +44,7 @@ claim_lock()
>      # See below for a correctness proof.
>      local rightfile
>      while true; do
> -        eval "exec $_lockfd>>$_lockfile"
> +        eval "exec $_lockfd<>$_lockfile"
>          flock -x $_lockfd || return $?
>          # We can't just stat /dev/stdin or /proc/self/fd/$_lockfd or
>          # use bash's test -ef because those all go through what is



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.