t2ex/t2ex_source/lib/libtk/src_t2ex/smalloc.c | bare source | permlink (0.02 seconds) |
1: /* 2: *---------------------------------------------------------------------- 3: * T2EX Software Package 4: * 5: * Copyright 2012 by Ken Sakamura. 6: * This software is distributed under the latest version of T-License 2.x. 7: *---------------------------------------------------------------------- 8: * 9: * Released by T-Engine Forum(http://www.t-engine.org/) at 2012/12/12. 10: * Modified by TRON Forum(http://www.tron.org/) at 2015/06/04. 11: * 12: *---------------------------------------------------------------------- 13: */ 14: /* 15: * This software package is available for use, modification, 16: * and redistribution in accordance with the terms of the attached 17: * T-License 2.x. 18: * If you want to redistribute the source code, you need to attach 19: * the T-License 2.x document. 20: * There's no obligation to publish the content, and no obligation 21: * to disclose it to the TRON Forum if you have modified the 22: * software package. 23: * You can also distribute the modified source code. In this case, 24: * please register the modification to T-Kernel traceability service. 25: * People can know the history of modifications by the service, 26: * and can be sure that the version you have inherited some 27: * modification of a particular version or not. 28: * 29: * http://trace.tron.org/tk/?lang=en 30: * http://trace.tron.org/tk/?lang=ja 31: * 32: * As per the provisions of the T-License 2.x, TRON Forum ensures that 33: * the portion of the software that is copyrighted by Ken Sakamura or 34: * the TRON Forum does not infringe the copyrights of a third party. 35: * However, it does not make any warranty other than this. 36: * DISCLAIMER: TRON Forum and Ken Sakamura shall not be held 37: * responsible for any consequences or damages caused directly or 38: * indirectly by the use of this software package. 39: * 40: * The source codes in bsd_source.tar.gz in this software package are 41: * derived from NetBSD or OpenBSD and not covered under T-License 2.x. 42: * They need to be changed or redistributed according to the 43: * representation of each source header. 44: */ 45: 46: /* 47: * @(#)smalloc.c (libtk) 48: * 49: * Non-resident shared memory allocation 50: */ 51: 52: #include "libtk.h" 53: 54: #ifndef SMALLOCTEST 55: 56: EXPORT MACB _Smacb; /* Smalloc management information */ 57: EXPORT FastULock _SmacbLock; /* Smalloc lock */ 58: 59: EXPORT void* Smalloc( size_t size ) 60: { 61: void *p; 62: 63: UMEMLOCK( return NULL ) 64: p = _mem_malloc(size, &_Smacb); 65: UMEMUNLOCK() 66: 67: return p; 68: } 69: 70: EXPORT void* Scalloc( size_t nmemb, size_t size ) 71: { 72: void *p; 73: 74: UMEMLOCK( return NULL ) 75: p = _mem_calloc(nmemb, size, &_Smacb); 76: UMEMUNLOCK() 77: 78: return p; 79: } 80: 81: EXPORT void* Srealloc( void *ptr, size_t size ) 82: { 83: void *p; 84: 85: UMEMLOCK( return NULL ) 86: p = _mem_realloc(ptr, size, &_Smacb); 87: UMEMUNLOCK() 88: 89: return p; 90: } 91: 92: EXPORT void Sfree( void *ptr ) 93: { 94: UMEMLOCK( return ) 95: _mem_free(ptr, &_Smacb); 96: UMEMUNLOCK() 97: } 98: 99: #else /* SMALLOCTEST */ 100: 101: EXPORT void Smalloctest( int mode ) 102: { 103: UMEMLOCK( return ) 104: _mem_malloctest(mode, &_Smacb); 105: UMEMUNLOCK() 106: } 107: 108: EXPORT BOOL Smalloccheck( void *ptr ) 109: { 110: BOOL v; 111: 112: UMEMLOCK( return FALSE ) 113: v = _mem_malloccheck(ptr, &_Smacb); 114: UMEMUNLOCK() 115: 116: return v; 117: } 118: 119: #endif /* SMALLOCTEST */