Changeset 4243:2ab21e14c42a in roaraudio
- Timestamp:
- 08/25/10 15:36:19 (14 years ago)
- Branch:
- default
- Phase:
- public
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
include/libroar/memmgr.h
r3811 r4243 60 60 #endif 61 61 62 63 // memory locking: 64 65 #if defined(ROAR_HAVE_MLOCK) && defined(__linux__) 66 #define roar_mm_mlock(addr, len) mlock((addr), (len)) 67 #elif defined(ROAR_TARGET_MICROCONTROLLER) 68 #define roar_mm_mlock(addr, len) 0 69 #else 70 int roar_mm_mlock(const void *addr, size_t len); 71 #endif 72 73 #if defined(ROAR_HAVE_MUNLOCK) && defined(__linux__) 74 #define roar_mm_munlock(addr, len) munlock((addr), (len)) 75 #elif defined(ROAR_TARGET_MICROCONTROLLER) 76 #define roar_mm_munlock(addr, len) 0 77 #else 78 int roar_mm_munlock(const void *addr, size_t len); 79 #endif 80 81 #if defined(ROAR_HAVE_MLOCKALL) 82 #define roar_mm_mlockall(flags) mlockall((flags)) 83 #elif defined(ROAR_TARGET_MICROCONTROLLER) 84 #define roar_mm_mlockall(flags) 0 85 #else 86 #define roar_mm_mlockall(flags) (-1) 87 #endif 88 89 #if defined(ROAR_HAVE_MUNLOCKALL) 90 #define roar_mm_munlockall(flags) munlockall((flags)) 91 #elif defined(ROAR_TARGET_MICROCONTROLLER) 92 #define roar_mm_munlockall(flags) 0 93 #else 94 #define roar_mm_munlockall(flags) (-1) 95 #endif 96 97 // for compatibility with old versions: 98 #define ROAR_MLOCK _ROAR_MLOCK 99 62 100 #endif 63 101 -
include/roaraudio.h
r4156 r4243 294 294 #endif 295 295 296 #ifdef ROAR_HAVE_MLOCK297 #ifdef __linux__298 #define ROAR_MLOCK(p,s) mlock((p), (s))299 #else300 int _ROAR_MLOCK(const void *addr, size_t len);301 #define ROAR_MLOCK _ROAR_MLOCK302 #endif303 #endif304 305 296 #ifdef ROAR_HAVE_STRCASESTR 306 297 #define _roar_strcasestr(a,b) strcasestr((a), (b)) -
libroar/libroar.c
r3811 r4243 36 36 #include "libroar.h" 37 37 38 int _ROAR_MLOCK(const void *addr, size_t len) { 38 #ifndef roar_mm_mlock 39 int roar_mm_mlock(const void *addr, size_t len) { 39 40 #if defined(ROAR_TARGET_WIN32) 40 41 return GlobalLock(addr) == addr ? 0 : -1; … … 52 53 #endif 53 54 } 55 #endif 56 57 #ifndef roar_mm_munlock 58 int roar_mm_munlock(const void *addr, size_t len) { 59 #if defined(ROAR_TARGET_WIN32) 60 // TODO: find out what do do here. GlobalUnLock()? does such a function exist? 61 // return GlobalLock(addr) == addr ? 0 : -1; 62 return -1; 63 #elif defined(ROAR_TARGET_MICROCONTROLLER) 64 return 0; 65 #else 66 long sz = sysconf(_SC_PAGESIZE); 67 unsigned long int pos = (unsigned long int) addr; 68 69 len += sz - (len % sz); 70 71 pos -= pos % sz; 72 73 return munlock((void*)pos, len); 74 #endif 75 } 76 #endif 77 78 // for compatibility with old versions: 79 int _ROAR_MLOCK(const void *addr, size_t len) { 80 roar_debug_warn_obsolete("_ROAR_MLOCK", "roar_mm_mlock", NULL); 81 return roar_mm_mlock(addr, len); 82 } 54 83 55 84 //ll -
roard/output.c
r4230 r4243 52 52 ROAR_DBG("output_buffer_init(*): output buffer is at %p", buf); 53 53 54 /* TODO: do this within the memlock part 54 55 #ifdef ROAR_HAVE_MLOCK 55 56 ROAR_MLOCK(buf, size); 56 57 #endif 58 */ 57 59 58 60 output_buffer_reinit();
Note: See TracChangeset
for help on using the changeset viewer.