---
name: "SharedMemPager"
section: "3cc"
platform: "linux"
package: "libcommoncpp2-dev"
version: "1.0.13-5"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/SharedMemPager"
---

# SharedMemPager(3cc)

The shared mempager uses a mutex to protect key access methods. mutex protected memory pager.

## NAME

SharedMemPager - The shared mempager uses a mutex to protect key access methods. mutex protected memory pager.

## SYNOPSIS

`#include <misc.h>`

Inherits **MemPager**, and **Mutex**.

### Protected Methods

**SharedMemPager** (int pagesize=4096)\
 *Create a mempager mutex pool.* void **purge** (void)\
 *Purge the memory pool while locked.* void \* **first** (size\_t **size**)\
 *Get the first memory page after locking.* void \* **alloc** (size\_t **size**)\
 *Get the last memory page after locking.*

## DETAILED DESCRIPTION

The shared mempager uses a mutex to protect key access methods. mutex protected memory pager.

This class is used when a mempager will be shared by multiple threads.

**Author:**  David Sugar \<dyfet@ostel.com\>

## CONSTRUCTOR & DESTRUCTOR DOCUMENTATION

### SharedMemPager::SharedMemPager (int pagesize = 4096)` [protected]`

Create a mempager mutex pool.

**Parameters:**

- *pagesize*

  *page size for allocation.*

## MEMBER FUNCTION DOCUMENTATION

### void\* SharedMemPager::alloc (size\_t size)` [protected, virtual]`

*Get the last memory page after locking.*

**Returns:**  *allocated memory space.*

**Parameters:**

- *size*

  *of request.*

*Reimplemented from* **MemPager***.*

### void\* SharedMemPager::first (size\_t size)` [protected, virtual]`

*Get the first memory page after locking.*

**Returns:**  *allocated memory space.*

**Parameters:**

- *size*

  *of request.*

*Reimplemented from* **MemPager***.*

### void SharedMemPager::purge (void)` [protected]`

*Purge the memory pool while locked.*

*Reimplemented from* **MemPager***.*

## AUTHOR

*Generated automatically by Doxygen for CommonC++ from the source code.*
