diff options
author | Simon MacMullen <simon@lshift.net> | 2010-05-26 12:47:01 +0100 |
---|---|---|
committer | Simon MacMullen <simon@lshift.net> | 2010-05-26 12:47:01 +0100 |
commit | 56c8b07c2296ccc67688711f81355486e3adb305 (patch) | |
tree | 5526b8ae99cd9d35509dc7bcf1b397df495d2b82 | |
parent | 9ecd9112a63ee568840bfc56da92d997434e586d (diff) | |
download | rabbitmq-server-56c8b07c2296ccc67688711f81355486e3adb305.tar.gz |
Move our protocol_error outside the with_or_die to stop it being eaten.
-rw-r--r-- | src/rabbit_channel.erl | 27 |
1 files changed, 12 insertions, 15 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl index 2d7bfd4e..39a43e60 100644 --- a/src/rabbit_channel.erl +++ b/src/rabbit_channel.erl @@ -299,21 +299,18 @@ check_read_permitted(Resource, #ch{ username = Username}) -> check_resource_access(Username, Resource, read). with_exclusive_access_or_die(QName, ReaderPid, F) -> - rabbit_amqqueue:with_or_die( - QName, - fun(Q) -> - case Q of - #amqqueue{exclusive_owner = none} -> - F(Q); - #amqqueue{exclusive_owner = ReaderPid} -> - F(Q); - _ -> - rabbit_misc:protocol_error( - resource_locked, - "cannot obtain exclusive access to locked ~s", - [rabbit_misc:rs(Q#amqqueue.name)]) - end - end). + Q = rabbit_amqqueue:with_or_die(QName, fun(Q1) -> Q1 end), + case Q of + #amqqueue{exclusive_owner = none} -> + F(Q); + #amqqueue{exclusive_owner = ReaderPid} -> + F(Q); + _ -> + rabbit_misc:protocol_error( + resource_locked, + "cannot obtain exclusive access to locked ~s", + [rabbit_misc:rs(Q#amqqueue.name)]) + end. expand_queue_name_shortcut(<<>>, #ch{ most_recently_declared_queue = <<>> }) -> rabbit_misc:protocol_error( |