php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
zend_shared_alloc.c File Reference
#include <errno.h>
#include "ZendAccelerator.h"
#include "zend_shared_alloc.h"
#include <fcntl.h>
#include <sys/types.h>
#include <signal.h>
#include <sys/stat.h>
#include <stdio.h>

Go to the source code of this file.

Macros

#define SEM_FILENAME_PREFIX   ".ZendSem."
 
#define S_H(s)
 
#define MIN_FREE_MEMORY   64*1024
 
#define SHARED_ALLOC_FAILED()
 

Functions

void zend_shared_alloc_create_lock (char *lockfile_path)
 
int zend_shared_alloc_startup (size_t requested_size, size_t reserved_size)
 
void zend_shared_alloc_shutdown (void)
 
voidzend_shared_alloc (size_t size)
 
int zend_shared_memdup_size (void *source, size_t size)
 
voidzend_shared_memdup_get_put_free (void *source, size_t size)
 
voidzend_shared_memdup_put_free (void *source, size_t size)
 
voidzend_shared_memdup_free (void *source, size_t size)
 
voidzend_shared_memdup_get_put (void *source, size_t size)
 
voidzend_shared_memdup_put (void *source, size_t size)
 
voidzend_shared_memdup (void *source, size_t size)
 
void zend_shared_alloc_safe_unlock (void)
 
void zend_shared_alloc_lock (void)
 
void zend_shared_alloc_unlock (void)
 
void zend_shared_alloc_init_xlat_table (void)
 
void zend_shared_alloc_destroy_xlat_table (void)
 
void zend_shared_alloc_clear_xlat_table (void)
 
uint32_t zend_shared_alloc_checkpoint_xlat_table (void)
 
void zend_shared_alloc_restore_xlat_table (uint32_t checkpoint)
 
void zend_shared_alloc_register_xlat_entry (const void *key_pointer, const void *value)
 
voidzend_shared_alloc_get_xlat_entry (const void *key_pointer)
 
size_t zend_shared_alloc_get_free_memory (void)
 
void zend_shared_alloc_save_state (void)
 
void zend_shared_alloc_restore_state (void)
 
const char * zend_accel_get_shared_model (void)
 
void zend_accel_shared_protect (bool protected)
 
bool zend_accel_in_shm (void *ptr)
 

Variables

ZEND_EXT_API zend_smm_shared_globalssmm_shared_globals
 
int lock_file = -1
 

Macro Definition Documentation

◆ MIN_FREE_MEMORY

#define MIN_FREE_MEMORY   64*1024

Definition at line 358 of file zend_shared_alloc.c.

◆ S_H

#define S_H ( s)
Value:
g_shared_alloc_handler->s

Definition at line 48 of file zend_shared_alloc.c.

◆ SEM_FILENAME_PREFIX

#define SEM_FILENAME_PREFIX   ".ZendSem."

Definition at line 47 of file zend_shared_alloc.c.

◆ SHARED_ALLOC_FAILED

#define SHARED_ALLOC_FAILED ( )
Value:
do { \
zend_accel_error(ACCEL_LOG_WARNING, "Not enough free shared space to allocate %zu bytes (%zu bytes free)", size, ZSMMG(shared_free)); \
if (zend_shared_alloc_get_largest_free_block() < MIN_FREE_MEMORY) { \
ZSMMG(memory_exhausted) = 1; \
} \
} while (0)
new_type size
Definition ffi.c:4365
#define ACCEL_LOG_WARNING
#define MIN_FREE_MEMORY
#define ZSMMG(element)

Definition at line 360 of file zend_shared_alloc.c.

Function Documentation

◆ zend_accel_get_shared_model()

const char * zend_accel_get_shared_model ( void )

Definition at line 621 of file zend_shared_alloc.c.

◆ zend_accel_in_shm()

bool zend_accel_in_shm ( void * ptr)

Definition at line 658 of file zend_shared_alloc.c.

◆ zend_accel_shared_protect()

void zend_accel_shared_protect ( bool protected)

Memory write protection

Parameters
protectedtrue to protect shared memory (read-only), false to unprotect shared memory (writable)

Definition at line 626 of file zend_shared_alloc.c.

◆ zend_shared_alloc()

void * zend_shared_alloc ( size_t size)

Definition at line 367 of file zend_shared_alloc.c.

◆ zend_shared_alloc_checkpoint_xlat_table()

uint32_t zend_shared_alloc_checkpoint_xlat_table ( void )

Definition at line 564 of file zend_shared_alloc.c.

◆ zend_shared_alloc_clear_xlat_table()

void zend_shared_alloc_clear_xlat_table ( void )

Definition at line 559 of file zend_shared_alloc.c.

◆ zend_shared_alloc_create_lock()

void zend_shared_alloc_create_lock ( char * lockfile_path)

Definition at line 83 of file zend_shared_alloc.c.

◆ zend_shared_alloc_destroy_xlat_table()

void zend_shared_alloc_destroy_xlat_table ( void )

Definition at line 553 of file zend_shared_alloc.c.

◆ zend_shared_alloc_get_free_memory()

size_t zend_shared_alloc_get_free_memory ( void )

Definition at line 594 of file zend_shared_alloc.c.

◆ zend_shared_alloc_get_xlat_entry()

void * zend_shared_alloc_get_xlat_entry ( const void * key_pointer)

Definition at line 582 of file zend_shared_alloc.c.

◆ zend_shared_alloc_init_xlat_table()

void zend_shared_alloc_init_xlat_table ( void )

Definition at line 547 of file zend_shared_alloc.c.

◆ zend_shared_alloc_lock()

void zend_shared_alloc_lock ( void )

Definition at line 481 of file zend_shared_alloc.c.

◆ zend_shared_alloc_register_xlat_entry()

void zend_shared_alloc_register_xlat_entry ( const void * key_pointer,
const void * value )

Definition at line 574 of file zend_shared_alloc.c.

◆ zend_shared_alloc_restore_state()

void zend_shared_alloc_restore_state ( void )

Definition at line 609 of file zend_shared_alloc.c.

◆ zend_shared_alloc_restore_xlat_table()

void zend_shared_alloc_restore_xlat_table ( uint32_t checkpoint)

Definition at line 569 of file zend_shared_alloc.c.

◆ zend_shared_alloc_safe_unlock()

void zend_shared_alloc_safe_unlock ( void )

Definition at line 474 of file zend_shared_alloc.c.

◆ zend_shared_alloc_save_state()

void zend_shared_alloc_save_state ( void )

Definition at line 599 of file zend_shared_alloc.c.

◆ zend_shared_alloc_shutdown()

void zend_shared_alloc_shutdown ( void )

Definition at line 307 of file zend_shared_alloc.c.

◆ zend_shared_alloc_startup()

int zend_shared_alloc_startup ( size_t requested_size,
size_t reserved_size )

Definition at line 177 of file zend_shared_alloc.c.

◆ zend_shared_alloc_unlock()

void zend_shared_alloc_unlock ( void )

Definition at line 520 of file zend_shared_alloc.c.

◆ zend_shared_memdup()

void * zend_shared_memdup ( void * source,
size_t size )

Definition at line 469 of file zend_shared_alloc.c.

◆ zend_shared_memdup_free()

void * zend_shared_memdup_free ( void * source,
size_t size )

Definition at line 454 of file zend_shared_alloc.c.

◆ zend_shared_memdup_get_put()

void * zend_shared_memdup_get_put ( void * source,
size_t size )

Definition at line 459 of file zend_shared_alloc.c.

◆ zend_shared_memdup_get_put_free()

void * zend_shared_memdup_get_put_free ( void * source,
size_t size )

Definition at line 444 of file zend_shared_alloc.c.

◆ zend_shared_memdup_put()

void * zend_shared_memdup_put ( void * source,
size_t size )

Definition at line 464 of file zend_shared_alloc.c.

◆ zend_shared_memdup_put_free()

void * zend_shared_memdup_put_free ( void * source,
size_t size )

Definition at line 449 of file zend_shared_alloc.c.

◆ zend_shared_memdup_size()

int zend_shared_memdup_size ( void * source,
size_t size )

Definition at line 401 of file zend_shared_alloc.c.

Variable Documentation

◆ lock_file

int lock_file = -1

Definition at line 62 of file zend_shared_alloc.c.

◆ smm_shared_globals

Definition at line 56 of file zend_shared_alloc.c.