diff options
author | Rob Crittenden <rcritten@redhat.com> | 2005-03-07 14:49:18 +0000 |
---|---|---|
committer | Rob Crittenden <rcritten@redhat.com> | 2005-03-07 14:49:18 +0000 |
commit | ab37199479f849ecae189e1a2314da49cc906187 (patch) | |
tree | 35e02b41332f187d083319cf486262c4df4d75e3 /lib/base/shmem.cpp | |
parent | ea64bb776b54e43e117d516e7e0e818d48287370 (diff) | |
download | ds-ab37199479f849ecae189e1a2314da49cc906187.tar.gz ds-ab37199479f849ecae189e1a2314da49cc906187.tar.xz ds-ab37199479f849ecae189e1a2314da49cc906187.zip |
149510
Remove files that aren't needed.
Diffstat (limited to 'lib/base/shmem.cpp')
-rw-r--r-- | lib/base/shmem.cpp | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/lib/base/shmem.cpp b/lib/base/shmem.cpp deleted file mode 100644 index 66bd3a54..00000000 --- a/lib/base/shmem.cpp +++ /dev/null @@ -1,127 +0,0 @@ -/** BEGIN COPYRIGHT BLOCK - * Copyright (C) 2001 Sun Microsystems, Inc. Used by permission. - * Copyright (C) 2005 Red Hat, Inc. - * All rights reserved. - * END COPYRIGHT BLOCK **/ -/* - * shmem.h: Portable abstraction for memory shared among a server's workers - * - * Rob McCool - */ - - -#include "shmem.h" - -#if defined (SHMEM_UNIX_MMAP) - -#include <sys/types.h> -#include <sys/stat.h> -#include <unistd.h> -#include <private/pprio.h> /* for nspr20 binary release */ - -NSPR_BEGIN_EXTERN_C -#include <sys/mman.h> -NSPR_END_EXTERN_C - -NSAPI_PUBLIC shmem_s *shmem_alloc(char *name, int size, int expose) -{ - shmem_s *ret = (shmem_s *) PERM_MALLOC(sizeof(shmem_s)); - char *growme; - - if( (ret->fd = PR_Open(name, PR_RDWR | PR_CREATE_FILE | PR_TRUNCATE, 0666)) == NULL) { - PERM_FREE(ret); - return NULL; - } - growme = (char *) PERM_MALLOC(size); - ZERO(growme, size); - if(PR_Write(ret->fd, (char *)growme, size) < 0) { - PR_Close(ret->fd); - PERM_FREE(growme); - PERM_FREE(ret); - return NULL; - } - PERM_FREE(growme); - PR_Seek(ret->fd, 0, PR_SEEK_SET); - if( (ret->data = (char *)mmap(NULL, size, PROT_READ | PROT_WRITE, - SHMEM_MMAP_FLAGS, PR_FileDesc2NativeHandle(ret->fd), 0)) == (caddr_t) -1) - { - PR_Close(ret->fd); - PERM_FREE(ret); - return NULL; - } - if(!expose) { - ret->name = NULL; - unlink(name); - } - else - ret->name = STRDUP(name); - ret->size = size; - return ret; -} - - -NSAPI_PUBLIC void shmem_free(shmem_s *region) -{ - if(region->name) { - unlink(region->name); - PERM_FREE(region->name); - } - munmap((char *)region->data, region->size); /* CLEARLY, C++ SUCKS */ - PR_Close(region->fd); - PERM_FREE(region); -} - -#elif defined (SHMEM_WIN32_MMAP) - -#define PAGE_SIZE (1024*8) -#define ALIGN(x) ( (x+PAGE_SIZE-1) & (~(PAGE_SIZE-1)) ) -NSAPI_PUBLIC shmem_s *shmem_alloc(char *name, int size, int expose) -{ - shmem_s *ret = (shmem_s *) PERM_MALLOC(sizeof(shmem_s)); - HANDLE fHandle; - - ret->fd = 0; /* not used on NT */ - - size = ALIGN(size); - if( !(ret->fdmap = CreateFileMapping( - (HANDLE)0xffffffff, - NULL, - PAGE_READWRITE, - 0, - size, - name)) ) - { - int err = GetLastError(); - PERM_FREE(ret); - return NULL; - } - if( !(ret->data = (char *)MapViewOfFile ( - ret->fdmap, - FILE_MAP_ALL_ACCESS, - 0, - 0, - 0)) ) - { - CloseHandle(ret->fdmap); - PERM_FREE(ret); - return NULL; - } - ret->size = size; - ret->name = NULL; - - return ret; -} - - -NSAPI_PUBLIC void shmem_free(shmem_s *region) -{ - if(region->name) { - DeleteFile(region->name); - PERM_FREE(region->name); - } - UnmapViewOfFile(region->data); - CloseHandle(region->fdmap); - PERM_FREE(region); -} - -#endif /* SHMEM_WIN32_MMAP */ |