<-
Apache HTTP 服务器 2.4 > Apache模块mod_slotmem_shm

Apache模块mod_slotmem_shm

描述:基于插槽的共享内存提供程序。
状态:延期
模块标识符:slotmem_shm_module
源文件:mod_slotmem_shm.c

摘要

mod_slotmem_shm 是一个内存提供程序,用于创建和访问共享的内存段,在该内存段中,数据集按“插槽”进行组织。

每次重新启动都会清除并清除所有共享内存,无论是否正常。数据本身存储和恢复在和 调用中的name 参数所指示的文件中。如果未指定绝对路径,则将相对于指令指定的路径创建文件 。 createattachDefaultRuntimeDir

mod_slotmem_shm 提供以下API函数:

/* call the callback on all worker slots */
apr_status_t doall(ap_slotmem_instance_t *s, ap_slotmem_callback_fn_t *func, void *data, apr_pool_t *pool)

/* create a new slotmem with each item size is item_size. 'name' is used to generate a filename for the persistent
   store of the shared memory if configured. Values are:
      "none"                - Anonymous shared memory and no persistent store
      "file-name"           - [DefaultRuntimeDir]/file-name
      "/absolute-file-name" - Absolute file name */
apr_status_t create(ap_slotmem_instance_t **new, const char *name, apr_size_t item_size, unsigned int item_num, ap_slotmem_type_t type, apr_pool_t *pool)

/* attach to an existing slotmem. See 'create()' for description of 'name' parameter */
apr_status_t attach(ap_slotmem_instance_t **new, const char *name, apr_size_t *item_size, unsigned int *item_num, apr_pool_t *pool)

/* get the direct pointer to the memory associated with this worker slot */
apr_status_t dptr(ap_slotmem_instance_t *s, unsigned int item_id, void **mem)

/* get/read the memory from this slot to dest */
apr_status_t get(ap_slotmem_instance_t *s, unsigned int item_id, unsigned char *dest, apr_size_t dest_len)

/* put/write the data from src to this slot */
apr_status_t put(ap_slotmem_instance_t *slot, unsigned int item_id, unsigned char *src, apr_size_t src_len)

/* return the total number of slots in the segment */
unsigned int num_slots(ap_slotmem_instance_t *s)

/* return the total data size, in bytes, of a slot in the segment */
apr_size_t slot_size(ap_slotmem_instance_t *s)

/* grab or allocate the first free slot and mark as in-use (does not do any data copying) */
apr_status_t grab(ap_slotmem_instance_t *s, unsigned int *item_id)

/* forced grab or allocate the specified slot and mark as in-use (does not do any data copying) */
apr_status_t fgrab(ap_slotmem_instance_t *s, unsigned int item_id)

/* release or free a slot and mark as not in-use (does not do any data copying) */
apr_status_t release(ap_slotmem_instance_t *s, unsigned int item_id)
支持Apache!

指令

该模块不提供指令。

错误修正清单

也可以看看

可用语言: zh  |  fr 

最佳

注释

注意:
这不是“问答”部分。此处放置的评论应指向有关改进文档或服务器的建议,如果实施或被认为无效/偏离主题,我们的主持人可以将其删除。有关如何管理Apache HTTP Server的问题,应直接指向我们的IRC频道#httpd(位于Freenode上),或发送至我们的邮件列表
目前,此页面已禁用评论。