]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
Remove unused isc_astack unit
authorOndřej Surý <ondrej@isc.org>
Wed, 4 Jan 2023 15:06:48 +0000 (16:06 +0100)
committerOndřej Surý <ondrej@isc.org>
Tue, 10 Jan 2023 19:31:24 +0000 (20:31 +0100)
The isc_astack unit is now unused, so just remove it.

lib/isc/Makefile.am
lib/isc/astack.c [deleted file]
lib/isc/include/isc/astack.h [deleted file]
lib/isc/include/isc/types.h

index fabefc6de4d24936505a68219b38bba7ed1fd4c9..7c1466c7d80d1b7c89b4275dd6b7a643588ec27e 100644 (file)
@@ -8,7 +8,6 @@ libisc_la_HEADERS =                     \
        include/isc/align.h             \
        include/isc/ascii.h             \
        include/isc/assertions.h        \
-       include/isc/astack.h            \
        include/isc/async.h             \
        include/isc/atomic.h            \
        include/isc/attributes.h        \
@@ -122,7 +121,6 @@ libisc_la_SOURCES =         \
        aes.c                   \
        ascii.c                 \
        assertions.c            \
-       astack.c                \
        async.c                 \
        backtrace.c             \
        base32.c                \
diff --git a/lib/isc/astack.c b/lib/isc/astack.c
deleted file mode 100644 (file)
index 484ef26..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
- *
- * SPDX-License-Identifier: MPL-2.0
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, you can obtain one at https://mozilla.org/MPL/2.0/.
- *
- * See the COPYRIGHT file distributed with this work for additional
- * information regarding copyright ownership.
- */
-
-#include <inttypes.h>
-#include <string.h>
-
-#include <isc/astack.h>
-#include <isc/atomic.h>
-#include <isc/mem.h>
-#include <isc/mutex.h>
-#include <isc/types.h>
-#include <isc/util.h>
-
-struct isc_astack {
-       isc_mem_t *mctx;
-       size_t size;
-       size_t pos;
-       isc_mutex_t lock;
-       uintptr_t nodes[];
-};
-
-isc_astack_t *
-isc_astack_new(isc_mem_t *mctx, size_t size) {
-       isc_astack_t *stack = isc_mem_get(
-               mctx, sizeof(isc_astack_t) + size * sizeof(uintptr_t));
-
-       *stack = (isc_astack_t){
-               .size = size,
-       };
-       isc_mem_attach(mctx, &stack->mctx);
-       memset(stack->nodes, 0, size * sizeof(uintptr_t));
-       isc_mutex_init(&stack->lock);
-       return (stack);
-}
-
-bool
-isc_astack_trypush(isc_astack_t *stack, void *obj) {
-       if (!isc_mutex_trylock(&stack->lock)) {
-               if (stack->pos >= stack->size) {
-                       UNLOCK(&stack->lock);
-                       return (false);
-               }
-               stack->nodes[stack->pos++] = (uintptr_t)obj;
-               UNLOCK(&stack->lock);
-               return (true);
-       } else {
-               return (false);
-       }
-}
-
-void *
-isc_astack_pop(isc_astack_t *stack) {
-       LOCK(&stack->lock);
-       uintptr_t rv;
-       if (stack->pos == 0) {
-               rv = 0;
-       } else {
-               rv = stack->nodes[--stack->pos];
-       }
-       UNLOCK(&stack->lock);
-       return ((void *)rv);
-}
-
-void
-isc_astack_destroy(isc_astack_t *stack) {
-       LOCK(&stack->lock);
-       REQUIRE(stack->pos == 0);
-       UNLOCK(&stack->lock);
-
-       isc_mutex_destroy(&stack->lock);
-
-       isc_mem_putanddetach(&stack->mctx, stack,
-                            sizeof(struct isc_astack) +
-                                    stack->size * sizeof(uintptr_t));
-}
diff --git a/lib/isc/include/isc/astack.h b/lib/isc/include/isc/astack.h
deleted file mode 100644 (file)
index a4f6762..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
- *
- * SPDX-License-Identifier: MPL-2.0
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, you can obtain one at https://mozilla.org/MPL/2.0/.
- *
- * See the COPYRIGHT file distributed with this work for additional
- * information regarding copyright ownership.
- */
-
-#pragma once
-
-#include <inttypes.h>
-
-#include <isc/mem.h>
-#include <isc/types.h>
-
-isc_astack_t *
-isc_astack_new(isc_mem_t *mctx, size_t size);
-/*%<
- * Allocate and initialize a new array stack of size 'size'.
- */
-
-void
-isc_astack_destroy(isc_astack_t *stack);
-/*%<
- * Free an array stack 'stack'.
- *
- * Requires:
- * \li 'stack' is empty.
- */
-
-bool
-isc_astack_trypush(isc_astack_t *stack, void *obj);
-/*%<
- * Try to push 'obj' onto array stack 'astack'. On failure, either
- * because the stack size limit has been reached or because another
- * thread has already changed the stack pointer, return 'false'.
- */
-
-void *
-isc_astack_pop(isc_astack_t *stack);
-/*%<
- * Pop an object off of array stack 'stack'. If the stack is empty,
- * return NULL.
- */
index 72cdabd7cf79d2847a62128dd5e25504956d853b..475cc1f411b50823fb92c5c68d0714525e89ca65 100644 (file)
@@ -33,9 +33,8 @@
 
 /* Core Types.  Alphabetized by defined type. */
 
-typedef struct isc_astack isc_astack_t;                 /*%< Array-based fast stack */
-typedef struct isc_buffer isc_buffer_t;                 /*%< Buffer */
-typedef ISC_LIST(isc_buffer_t) isc_bufferlist_t; /*%< Buffer List */
+typedef struct isc_buffer isc_buffer_t;                          /*%< Buffer */
+typedef ISC_LIST(isc_buffer_t) isc_bufferlist_t;         /*%< Buffer List */
 typedef struct isc_constregion    isc_constregion_t;     /*%< Const region */
 typedef struct isc_consttextregion isc_consttextregion_t; /*%< Const Text Region
                                                           */