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 | b061ba2823117bca31d167e8a3aa6e34d7266e38 (patch) | |
| tree | 5526b8ae99cd9d35509dc7bcf1b397df495d2b82 | |
| parent | b4e557a02c34d255bfeec3b172ec0096b884259c (diff) | |
| download | rabbitmq-server-git-b061ba2823117bca31d167e8a3aa6e34d7266e38.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 2d7bfd4e0b..39a43e6012 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( |
