Resourceusage

Test that all resource are properly released.

Summary
ResourceusageTest that all resource are properly released.
CopyrightThis program is free software.
Files
C-kern/api/test/resourceusage.hHeader file of Resourceusage.
C-kern/test/resourceusage.cImplementation file Resourceusage impl.
Types
struct resourceusage_tExports resourceusage_t.
Functions
test
unittest_test_resourceusageUnittest for query usage & releasing all resources.
resourceusage_tStores the number of resources currently in use.
file_usageNumber of open files.
mmtrans_usageNumber of memory bytes allocated by mm_impl_t.
mmtrans_correctionNumber of bytes resourceusage_t uses itself.
malloc_usageNumber of memory bytes allocated by malloc.
malloc_correctionNumber of bytes resourceusage_t uses itself.
pagecache_usageSum of size of all cache memory pages.
pagecache_correctionSize of pages resourceusage_t uses itself.
pagecache_staticusageSize of static memory allocated in pagecache_t.
signalstateStores configuration state of signal subsystem.
virtualmemory_usageLayout of virtual memory.
malloc_acceptleakHolds maximum number of bytes of accepted malloc memory leak.
lifetime
resourceusage_FREEStatic initializer.
init_resourceusageStores the number of resources currently in use.
free_resourceusageFrees any memory which may be used to store the usage information.
query
same_resourceusageReturns 0 if the numbers of resources equals the numbers stored in usage.
update
inline implementation
resourceusage_t
acceptmallocleak_resourceusageImplements <resourceusage_t.acceptmallocleak_resourceusage>.

Copyright

This program is free software.  You can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.

Author

© 2011 Jörg Seebohn

Files

C-kern/api/test/resourceusage.h

Header file of Resourceusage.

C-kern/test/resourceusage.c

Implementation file Resourceusage impl.

Types

struct resourceusage_t

typedef struct resourceusage_t resourceusage_t

Exports resourceusage_t.

Functions

Summary
test
unittest_test_resourceusageUnittest for query usage & releasing all resources.

test

unittest_test_resourceusage

int unittest_test_resourceusage(void)

Unittest for query usage & releasing all resources.

resourceusage_t

struct resourceusage_t

Stores the number of resources currently in use.

Summary
file_usageNumber of open files.
mmtrans_usageNumber of memory bytes allocated by mm_impl_t.
mmtrans_correctionNumber of bytes resourceusage_t uses itself.
malloc_usageNumber of memory bytes allocated by malloc.
malloc_correctionNumber of bytes resourceusage_t uses itself.
pagecache_usageSum of size of all cache memory pages.
pagecache_correctionSize of pages resourceusage_t uses itself.
pagecache_staticusageSize of static memory allocated in pagecache_t.
signalstateStores configuration state of signal subsystem.
virtualmemory_usageLayout of virtual memory.
malloc_acceptleakHolds maximum number of bytes of accepted malloc memory leak.
lifetime
resourceusage_FREEStatic initializer.
init_resourceusageStores the number of resources currently in use.
free_resourceusageFrees any memory which may be used to store the usage information.
query
same_resourceusageReturns 0 if the numbers of resources equals the numbers stored in usage.
update

file_usage

size_t file_usage

Number of open files.

mmtrans_usage

size_t mmtrans_usage

Number of memory bytes allocated by mm_impl_t.

mmtrans_correction

size_t mmtrans_correction

Number of bytes resourceusage_t uses itself.

malloc_usage

size_t malloc_usage

Number of memory bytes allocated by malloc.

malloc_correction

size_t malloc_correction

Number of bytes resourceusage_t uses itself.

pagecache_usage

size_t pagecache_usage

Sum of size of all cache memory pages.

pagecache_correction

size_t pagecache_correction

Size of pages resourceusage_t uses itself.

pagecache_staticusage

size_t pagecache_staticusage

Size of static memory allocated in pagecache_t.

signalstate

struct signalstate_t * signalstate

Stores configuration state of signal subsystem.

virtualmemory_usage

struct vm_mappedregions_t * virtualmemory_usage

Layout of virtual memory.

malloc_acceptleak

uint16_t malloc_acceptleak

Holds maximum number of bytes of accepted malloc memory leak.

lifetime

resourceusage_FREE

#define resourceusage_FREE { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }

Static initializer.

init_resourceusage

int init_resourceusage(/*out*/resourceusage_t *usage)

Stores the number of resources currently in use.

free_resourceusage

int free_resourceusage(resourceusage_t *usage)

Frees any memory which may be used to store the usage information.

query

same_resourceusage

int same_resourceusage(const resourceusage_t *usage)

Returns 0 if the numbers of resources equals the numbers stored in usage.  If more or less resources are in use the error ELEAK is returned.

update

inline implementation

Summary
resourceusage_t
acceptmallocleak_resourceusageImplements <resourceusage_t.acceptmallocleak_resourceusage>.

resourceusage_t

acceptmallocleak_resourceusage

#define acceptmallocleak_resourceusage(
   usage,
   malloc_leak_in_bytes
) do { (usage)->malloc_acceptleak = (malloc_leak_in_bytes); } while (0)

Implements <resourceusage_t.acceptmallocleak_resourceusage>.

Test that all resource are properly released.
Implements Resourceusage.
typedef struct resourceusage_t resourceusage_t
Exports resourceusage_t.
struct resourceusage_t
Stores the number of resources currently in use.
int unittest_test_resourceusage(void)
Unittest for query usage & releasing all resources.
size_t file_usage
Number of open files.
size_t mmtrans_usage
Number of memory bytes allocated by mm_impl_t.
struct mm_impl_t
Default memory manager for allocating/freeing blocks of memory.
size_t mmtrans_correction
Number of bytes resourceusage_t uses itself.
size_t malloc_usage
Number of memory bytes allocated by malloc.
size_t malloc_correction
Number of bytes resourceusage_t uses itself.
size_t pagecache_usage
Sum of size of all cache memory pages.
size_t pagecache_correction
Size of pages resourceusage_t uses itself.
size_t pagecache_staticusage
Size of static memory allocated in pagecache_t.
iobj_DECLARE(pagecache_t,
pagecache)
Uses iobj_DECLARE to declare interfaceable object.
struct signalstate_t * signalstate
Stores configuration state of signal subsystem.
struct vm_mappedregions_t * virtualmemory_usage
Layout of virtual memory.
uint16_t malloc_acceptleak
Holds maximum number of bytes of accepted malloc memory leak.
#define resourceusage_FREE { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
Static initializer.
int init_resourceusage(/*out*/resourceusage_t *usage)
Stores the number of resources currently in use.
int free_resourceusage(resourceusage_t *usage)
Frees any memory which may be used to store the usage information.
int same_resourceusage(const resourceusage_t *usage)
Returns 0 if the numbers of resources equals the numbers stored in usage.
#define acceptmallocleak_resourceusage(
   usage,
   malloc_leak_in_bytes
) do { (usage)->malloc_acceptleak = (malloc_leak_in_bytes); } while (0)
Implements resourceusage_t.acceptmallocleak_resourceusage.
Close