Changeset 4243:2ab21e14c42a in roaraudio


Ignore:
Timestamp:
08/25/10 15:36:19 (14 years ago)
Author:
phi
Branch:
default
Phase:
public
Message:

replaced *ROAR_MLOCK() with modern roar_mm_m*lock*()

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • include/libroar/memmgr.h

    r3811 r4243  
    6060#endif 
    6161 
     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 
     70int 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 
     78int 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 
    62100#endif 
    63101 
  • include/roaraudio.h

    r4156 r4243  
    294294#endif 
    295295 
    296 #ifdef ROAR_HAVE_MLOCK 
    297 #ifdef __linux__ 
    298 #define ROAR_MLOCK(p,s) mlock((p), (s)) 
    299 #else 
    300 int _ROAR_MLOCK(const void *addr, size_t len); 
    301 #define ROAR_MLOCK _ROAR_MLOCK 
    302 #endif 
    303 #endif 
    304  
    305296#ifdef ROAR_HAVE_STRCASESTR 
    306297#define _roar_strcasestr(a,b) strcasestr((a), (b)) 
  • libroar/libroar.c

    r3811 r4243  
    3636#include "libroar.h" 
    3737 
    38 int _ROAR_MLOCK(const void *addr, size_t len) { 
     38#ifndef roar_mm_mlock 
     39int roar_mm_mlock(const void *addr, size_t len) { 
    3940#if defined(ROAR_TARGET_WIN32) 
    4041 return GlobalLock(addr) == addr ? 0 : -1; 
     
    5253#endif 
    5354} 
     55#endif 
     56 
     57#ifndef roar_mm_munlock 
     58int 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: 
     79int _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} 
    5483 
    5584//ll 
  • roard/output.c

    r4230 r4243  
    5252 ROAR_DBG("output_buffer_init(*): output buffer is at %p", buf); 
    5353 
     54/* TODO: do this within the memlock part 
    5455#ifdef ROAR_HAVE_MLOCK 
    5556 ROAR_MLOCK(buf, size); 
    5657#endif 
     58*/ 
    5759 
    5860 output_buffer_reinit(); 
Note: See TracChangeset for help on using the changeset viewer.