<-
Apache > HTTP Server > 文件 > 2.4 版 > 模組

Apache 模組 mod_slotmem_shm

可用語言:  en  |  fr 

說明基於槽的共用記憶體供應器。
狀態擴充模組
模組識別碼slotmem_shm_module
原始檔mod_slotmem_shm.c

摘要

mod_slotmem_shm 是用來在共用記憶體區段(資料集在其中以「槽」組織)進行建立跟存取的記憶體供應器。

所有共用記憶體都會在每次重新啟動時被清除並清理,無論是否為正常重新啟動。資料本身會儲存在 createattach 呼叫中 name 參數所指定的檔案中,並會從該檔案中還原。如果沒有指定絕對路徑,則檔案會相對於 DefaultRuntimeDir 指令所指定的的路徑建立。

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)
Support Apache!

指令

此模組未提供任何指令。

錯誤修正清單

另請參閱

可用語言:  en  |  fr 

top

意見

公告
這不是問答區。請針對改善文件或伺服器提出建議,我們的版主可能會移除已實作或被認為無效/離題的意見。關於如何管理 Apache HTTP Server 的問題,可以寄到我們的 IRC 頻道 (#httpd,位於 Libera.chat) 或寄到我們的電子郵件清單