Add error handling for `noproc`
Add error handling to avoid the following error:
```bash
$ make eunit apps=couch suites=couch_btree_prop_tests
...
**error:{assertMatch,[{module,couch_btree_prop_tests},
{line,35},
{comment,"Failed property test 'prop_btree_'"},
{expression,"proper : quickcheck ( ? MODULE : F ( ) , [ { to_file , user } , { start_size , 2 } , { numtests , 3000 } , long_result ] )"},
{pattern,"true"},
{value,[[{set,{var,1},
{call,couch_btree_prop_tests,query_modify,
[[551,502],[{882,c},{948,a}],[]]}}]]}]}
```
Related PR:
- https://github.com/apache/couchdb/pull/5635
- https://github.com/apache/couchdb/pull/5636
diff --git a/src/ioq_server.erl b/src/ioq_server.erl
index 80d9612..c817c65 100644
--- a/src/ioq_server.erl
+++ b/src/ioq_server.erl
@@ -78,7 +78,12 @@
class = Class,
t0 = erlang:monotonic_time()
},
- gen_server:call(?MODULE, Request, infinity)
+ try
+ gen_server:call(?MODULE, Request, infinity)
+ catch
+ exit:{noproc, _} ->
+ gen_server:call(Fd, Msg, infinity)
+ end
end.
bypass(_Msg, Priority) ->
diff --git a/src/ioq_server2.erl b/src/ioq_server2.erl
index 39aa8f4..c2fc215 100644
--- a/src/ioq_server2.erl
+++ b/src/ioq_server2.erl
@@ -118,7 +118,12 @@
},
Req = add_request_dimensions(Req0, Dimensions),
Server = ioq_server(Req, IOType),
- gen_server:call(Server, Req, infinity)
+ try
+ gen_server:call(Server, Req, infinity)
+ catch
+ exit:{noproc, _} ->
+ gen_server:call(Fd, Msg, infinity)
+ end
end.
ioq_server(#ioq_request{}, search) ->