nxt_mp.c (430:3a24c399394f) nxt_mp.c (564:762f8c976ead)
1
2/*
3 * Copyright (C) Igor Sysoev
4 * Copyright (C) NGINX, Inc.
5 */
6
7#include <nxt_main.h>
8

--- 758 unchanged lines hidden (view full) ---

767 return (uintptr_t) block1->start - (uintptr_t) block2->start;
768}
769
770
771void
772nxt_mp_free(nxt_mp_t *mp, void *p)
773{
774 const char *err;
1
2/*
3 * Copyright (C) Igor Sysoev
4 * Copyright (C) NGINX, Inc.
5 */
6
7#include <nxt_main.h>
8

--- 758 unchanged lines hidden (view full) ---

767 return (uintptr_t) block1->start - (uintptr_t) block2->start;
768}
769
770
771void
772nxt_mp_free(nxt_mp_t *mp, void *p)
773{
774 const char *err;
775 nxt_thread_t *thread;
776 nxt_mp_block_t *block;
777
778 nxt_mp_thread_assert(mp);
779
780 nxt_debug_alloc("mp %p free(%p)", mp, p);
781
782 block = nxt_mp_find_block(&mp->blocks, p);
783

--- 20 unchanged lines hidden (view full) ---

804 } else {
805 err = "freed pointer points to middle of block: %p";
806 }
807
808 } else {
809 err = "freed pointer is out of pool: %p";
810 }
811
775 nxt_mp_block_t *block;
776
777 nxt_mp_thread_assert(mp);
778
779 nxt_debug_alloc("mp %p free(%p)", mp, p);
780
781 block = nxt_mp_find_block(&mp->blocks, p);
782

--- 20 unchanged lines hidden (view full) ---

803 } else {
804 err = "freed pointer points to middle of block: %p";
805 }
806
807 } else {
808 err = "freed pointer is out of pool: %p";
809 }
810
812 thread = nxt_thread();
813
814 nxt_log(thread->task, NXT_LOG_CRIT, err, p);
811 nxt_thread_log_alert(err, p);
815}
816
817
818static nxt_mp_block_t *
819nxt_mp_find_block(nxt_rbtree_t *tree, u_char *p)
820{
821 nxt_mp_block_t *block;
822 nxt_rbtree_node_t *node, *sentinel;

--- 225 unchanged lines hidden ---
812}
813
814
815static nxt_mp_block_t *
816nxt_mp_find_block(nxt_rbtree_t *tree, u_char *p)
817{
818 nxt_mp_block_t *block;
819 nxt_rbtree_node_t *node, *sentinel;

--- 225 unchanged lines hidden ---