diff options
Diffstat (limited to 'services/mesh.c')
-rw-r--r-- | services/mesh.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/services/mesh.c b/services/mesh.c index 8f74cbe822b0..b0434b3ff0c3 100644 --- a/services/mesh.c +++ b/services/mesh.c @@ -1069,6 +1069,12 @@ mesh_continue(struct mesh_area* mesh, struct mesh_state* mstate, *ev = module_event_pass; return 1; } + if(s == module_wait_subquery && mstate->sub_set.count == 0) { + log_err("module cannot wait for subquery, subquery list empty"); + log_query_info(VERB_QUERY, "pass error for qstate", + &mstate->s.qinfo); + s = module_error; + } if(s == module_error && mstate->s.return_rcode == LDNS_RCODE_NOERROR) { /* error is bad, handle pass back up below */ mstate->s.return_rcode = LDNS_RCODE_SERVFAIL; |