Handle potential {error,_} returns from rabbit_registry (un)register
This mostly fixes dialyzer warnings since rabbit_registry:register/3 and rabbit_registry:unregister/2 may now return errors.
This commit is contained in:
		
							parent
							
								
									c0b163aacc
								
							
						
					
					
						commit
						7d3dbb8013
					
				|  | @ -21,13 +21,18 @@ | |||
|                     {enables, recovery}]}). | ||||
| 
 | ||||
| register() -> | ||||
|     rabbit_registry:register(runtime_parameter, | ||||
|                              ?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT, ?MODULE), | ||||
|     case rabbit_registry:register( | ||||
|            runtime_parameter, | ||||
|            ?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT, ?MODULE) of | ||||
|         ok -> | ||||
|             %% ensure there are no leftovers from before node restart/crash | ||||
|             _ = rabbit_runtime_parameters:clear_component( | ||||
|               ?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT, | ||||
|               ?INTERNAL_USER), | ||||
|     ok. | ||||
|             ok; | ||||
|         {error, _} = Err -> | ||||
|             Err | ||||
|     end. | ||||
| 
 | ||||
| validate(_VHost, ?EXCHANGE_DELETE_IN_PROGRESS_COMPONENT, _Name, _Term, _User) -> | ||||
|     ok. | ||||
|  |  | |||
|  | @ -49,14 +49,22 @@ active(Q) when ?is_amqqueue(Q) -> | |||
| list() -> [M || {_, M} <- rabbit_registry:lookup_all(queue_decorator)]. | ||||
| 
 | ||||
| register(TypeName, ModuleName) -> | ||||
|     rabbit_registry:register(queue_decorator, TypeName, ModuleName), | ||||
|     [maybe_recover(Q) || Q <- rabbit_amqqueue:list()], | ||||
|     ok. | ||||
|     case rabbit_registry:register(queue_decorator, TypeName, ModuleName) of | ||||
|         ok -> | ||||
|             rabbit_misc:for_each_while_ok( | ||||
|               fun maybe_recover/1, rabbit_amqqueue:list()); | ||||
|         {error, _} = Err -> | ||||
|             Err | ||||
|     end. | ||||
| 
 | ||||
| unregister(TypeName) -> | ||||
|     rabbit_registry:unregister(queue_decorator, TypeName), | ||||
|     [maybe_recover(Q) || Q <- rabbit_amqqueue:list()], | ||||
|     ok. | ||||
|     case rabbit_registry:unregister(queue_decorator, TypeName) of | ||||
|         ok -> | ||||
|             rabbit_misc:for_each_while_ok( | ||||
|               fun maybe_recover/1, rabbit_amqqueue:list()); | ||||
|         {error, _} = Err -> | ||||
|             Err | ||||
|     end. | ||||
| 
 | ||||
| maybe_recover(Q0) when ?is_amqqueue(Q0) -> | ||||
|     Name = amqqueue:get_name(Q0), | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue