Using nxt_lvlhsh_peek() and nxt_lvlhsh_retrieve().

This commit is contained in:
Igor Sysoev
2018-03-29 16:35:36 +03:00
parent aad7752527
commit 7205bf4b86
3 changed files with 6 additions and 41 deletions

View File

@@ -96,30 +96,12 @@ nxt_fd_event_hash_delete(nxt_task_t *task, nxt_lvlhsh_t *lvlhsh, nxt_fd_t fd,
void
nxt_fd_event_hash_destroy(nxt_lvlhsh_t *lvlhsh)
{
nxt_int_t ret;
nxt_fd_event_t *ev;
nxt_lvlhsh_each_t lhe;
nxt_lvlhsh_query_t lhq;
nxt_fd_event_t *ev;
nxt_memzero(&lhe, sizeof(nxt_lvlhsh_each_t));
lhe.proto = &nxt_event_set_fd_hash_proto;
lhq.proto = &nxt_event_set_fd_hash_proto;
do {
ev = nxt_lvlhsh_retrieve(lvlhsh, &nxt_event_set_fd_hash_proto, NULL);
for ( ;; ) {
ev = nxt_lvlhsh_each(lvlhsh, &lhe);
if (ev == NULL) {
return;
}
lhq.key_hash = nxt_murmur_hash2(&ev->fd, sizeof(nxt_fd_t));
ret = nxt_lvlhsh_delete(lvlhsh, &lhq);
if (nxt_slow_path(ret != NXT_OK)) {
nxt_fd_event_hash_error(ev->task, ev->fd);
}
}
} while (ev != NULL);
}