Просмотр исходного кода

fix: try-case-of rather than try-of

try-of catches only what happens within but not after
Stefan Strigler 3 лет назад
Родитель
Сommit
b7e3f9d5a6
1 измененных файлов с 7 добавлено и 5 удалено
  1. 7 5
      apps/emqx_resource/src/emqx_resource_buffer_worker.erl

+ 7 - 5
apps/emqx_resource/src/emqx_resource_buffer_worker.erl

@@ -266,11 +266,13 @@ code_change(_OldVsn, State, _Extra) ->
 
 %%==============================================================================
 -define(PICK(ID, KEY, PID, EXPR),
-    try gproc_pool:pick_worker(ID, KEY) of
-        PID when is_pid(PID) ->
-            EXPR;
-        _ ->
-            ?RESOURCE_ERROR(worker_not_created, "resource not created")
+    try
+        case gproc_pool:pick_worker(ID, KEY) of
+            PID when is_pid(PID) ->
+                EXPR;
+            _ ->
+                ?RESOURCE_ERROR(worker_not_created, "resource not created")
+        end
     catch
         error:badarg ->
             ?RESOURCE_ERROR(worker_not_created, "resource not created");