📄 shmem.h
字号:
/* * shmem.h,v 1.3 2000/06/04 22:00:03 brunsch Exp * * Copyright (c) 1994, 1995. Netscape Communications Corporation. All * rights reserved. * * Use of this software is governed by the terms of the license agreement for * the Netscape Communications or Netscape Comemrce Server between the * parties. *//* ------------------------------------------------------------------------ *//* * shmem.h: Portable abstraction for memory shared among a server's workers * * Rob McCool */#ifndef _SHMEM_H#define _SHMEM_H#include "netsite.h"#include "systems.h"/* --------------------------- Data structures ---------------------------- */#if defined (SHMEM_UNIX_MMAP) || defined (SHMEM_WIN32_MMAP)#include "file.h" /* SYS_FILE */typedef struct { void *data; /* the data */#ifdef SHMEM_WIN32_MMAP HANDLE fdmap;#endif /* SHMEM_WIN32_MMAP */ int size; /* the maximum length of the data */ char *name; /* internal use: filename to unlink if exposed */ SYS_FILE fd; /* internal use: file descriptor for region */} shmem_s;/* ------------------------------ Prototypes ------------------------------ *//* * shmem_alloc allocates a region of shared memory of the given size, using * the given name to avoid conflicts between multiple regions within the * program. The region will not be automatically grown if its boundaries * are over-run, use shmem_realloc for that. * * If expose is non-zero and the underlying system supports it, the * file used to create the shared region will be visible to other processes * running on the system. * * name should be unique to the program which calls this routine, otherwise * conflicts will arise. * * Returns a new shared memory region, with the data element being a * pointer to the shared memory. This function must be called before any * daemon workers are spawned, in order for the handle to the shared region * to be inherited by the children. * * Because of the requirement that the region must be inherited by the * children, the region cannot be re-allocated with a larger size when * necessary. */shmem_s *shmem_alloc(char *name, int size, int expose);/* * shmem_free de-allocates the specified region of shared memory. */void shmem_free(shmem_s *region);#endif /* SHMEM_UNIX_MMAP || SHMEM_WIN32_MMAP */#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -