diff options
| author | Tony Garnock-Jones <tonygarnockjones@gmail.com> | 2010-04-06 09:55:58 +1200 |
|---|---|---|
| committer | Tony Garnock-Jones <tonygarnockjones@gmail.com> | 2010-04-06 09:55:58 +1200 |
| commit | 12fa85e5c300c05bf3865fa7335223bf486ff2c8 (patch) | |
| tree | 57c409d11d83f2a8edc2638087abeac53af9fa46 /src | |
| parent | fe277b6c8edb6f9f9e578129108ae5c198d886a6 (diff) | |
| parent | f318a056c0c6999fe5d9d853440f4a49e92530b3 (diff) | |
| download | rabbitmq-server-git-12fa85e5c300c05bf3865fa7335223bf486ff2c8.tar.gz | |
Merge default into amqp_0_9_1
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_control.erl | 3 | ||||
| -rw-r--r-- | src/rabbit_multi.erl | 3 | ||||
| -rw-r--r-- | src/worker_pool.erl | 8 | ||||
| -rw-r--r-- | src/worker_pool_worker.erl | 2 |
4 files changed, 10 insertions, 6 deletions
diff --git a/src/rabbit_control.erl b/src/rabbit_control.erl index f2f291692a..d1834b3b73 100644 --- a/src/rabbit_control.erl +++ b/src/rabbit_control.erl @@ -131,7 +131,8 @@ stop() -> ok. usage() -> - rabbit_ctl_usage:usage(). + io:format("~s", [rabbit_ctl_usage:usage()]), + halt(1). action(stop, Node, [], Inform) -> Inform("Stopping and halting node ~p", [Node]), diff --git a/src/rabbit_multi.erl b/src/rabbit_multi.erl index 9ff2c5cb11..336f74bf9a 100644 --- a/src/rabbit_multi.erl +++ b/src/rabbit_multi.erl @@ -87,7 +87,8 @@ stop() -> ok. usage() -> - rabbit_multi_usage:usage(). + io:format("~s", [rabbit_multi_usage:usage()]), + halt(1). action(start_all, [NodeCount], RpcTimeout) -> io:format("Starting all nodes...~n", []), diff --git a/src/worker_pool.erl b/src/worker_pool.erl index b883d4f0cb..1ee958afb6 100644 --- a/src/worker_pool.erl +++ b/src/worker_pool.erl @@ -93,9 +93,11 @@ handle_call(next_free, From, State = #state { available = Avail, pending = Pending }) -> case queue:out(Avail) of {empty, _Avail} -> - {noreply, State #state { pending = queue:in(From, Pending) }}; + {noreply, State #state { pending = queue:in(From, Pending) }, + hibernate}; {{value, WId}, Avail1} -> - {reply, get_worker_pid(WId), State #state { available = Avail1 }} + {reply, get_worker_pid(WId), State #state { available = Avail1 }, + hibernate} end; handle_call(Msg, _From, State) -> @@ -109,7 +111,7 @@ handle_cast({idle, WId}, State = #state { available = Avail, {{value, From}, Pending1} -> gen_server2:reply(From, get_worker_pid(WId)), State #state { pending = Pending1 } - end}; + end, hibernate}; handle_cast(Msg, State) -> {stop, {unexpected_cast, Msg}, State}. diff --git a/src/worker_pool_worker.erl b/src/worker_pool_worker.erl index fc3ce3714f..3bfcc2d9ff 100644 --- a/src/worker_pool_worker.erl +++ b/src/worker_pool_worker.erl @@ -69,7 +69,7 @@ init([WId]) -> handle_call({submit, Fun}, From, WId) -> gen_server2:reply(From, run(Fun)), ok = worker_pool:idle(WId), - {noreply, WId}; + {noreply, WId, hibernate}; handle_call(Msg, _From, State) -> {stop, {unexpected_call, Msg}, State}. |
