### Function Macro

# GLib slice_free_chain

since: 2.10

#### Declaration

    #define g_slice_free_chain (
      type,
      mem_chain,
      next
    )

#### Description

Frees a linked list of memory blocks of structure type `type`.

The memory blocks must be equal-sized, allocated via `g_slice_alloc()` or `g_slice_alloc0()` and linked together by a `next` pointer (similar to `GSList`). The name of the `next` field in `type` is passed as third argument. Note that the exact release behaviour can be changed with the [`G_DEBUG=gc-friendly`][G_DEBUG] environment variable.

If `mem_chain` is `NULL`, this function does nothing.

Since GLib 2.76 this always uses the system `free()` implementation internally.

Available since: 2.10

This function is not directly available to language bindings.

#### Parameters

`type`

  Type: `-`

  The type of the `mem_chain` blocks.

`mem_chain`

  Type: `-`

  A pointer to the first block of the chain.

`next`

  Type: `-`

  The field name of the next pointer in `type`.