NdbMem.c
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:2k
源码类别:

MySQL数据库

开发平台:

Visual C++

  1. /* Copyright (C) 2003 MySQL AB
  2.    This program is free software; you can redistribute it and/or modify
  3.    it under the terms of the GNU General Public License as published by
  4.    the Free Software Foundation; either version 2 of the License, or
  5.    (at your option) any later version.
  6.    This program is distributed in the hope that it will be useful,
  7.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  8.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  9.    GNU General Public License for more details.
  10.    You should have received a copy of the GNU General Public License
  11.    along with this program; if not, write to the Free Software
  12.    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA */
  13. #include <ndb_global.h>
  14. #include <NdbMem.h>
  15. void NdbMem_Create()
  16. {
  17.   /* Do nothing */
  18.   return;
  19. }
  20. void NdbMem_Destroy()
  21. {
  22.   /* Do nothing */
  23.   return;
  24. }
  25. void* NdbMem_Allocate(size_t size)
  26. {
  27.   void* mem_allocated;
  28.   assert(size > 0);
  29.   mem_allocated= (void*)malloc(size);
  30.   return mem_allocated;
  31. }
  32. void* NdbMem_AllocateAlign(size_t size, size_t alignment)
  33. {
  34.   (void)alignment; /* remove warning for unused parameter */
  35.   /*
  36.     return (void*)memalign(alignment, size);
  37.     TEMP fix
  38.   */
  39.   return (void*)malloc(size);
  40. }
  41. void NdbMem_Free(void* ptr)
  42. {
  43.   free(ptr);
  44. }
  45.  
  46. int NdbMem_MemLockAll(){
  47. #if defined(HAVE_MLOCKALL) && defined(MCL_CURRENT)
  48.   return mlockall(MCL_CURRENT);
  49. #else
  50.   return -1;
  51. #endif
  52. }
  53. int NdbMem_MemUnlockAll(){
  54. #if defined(HAVE_MLOCKALL) && defined(MCL_CURRENT)
  55.   return munlockall();
  56. #else
  57.   return -1;
  58. #endif
  59. }