php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
fpm_scoreboard.h File Reference
#include <sys/time.h>
#include "fpm_request.h"
#include "fpm_worker_pool.h"
#include "fpm_atomic.h"

Go to the source code of this file.

Data Structures

struct  fpm_scoreboard_proc_s
 
struct  fpm_scoreboard_s
 

Macros

#define FPM_SCOREBOARD_ACTION_SET   0
 
#define FPM_SCOREBOARD_ACTION_INC   1
 
#define FPM_SCOREBOARD_LOCK_HANG   0
 
#define FPM_SCOREBOARD_LOCK_NOHANG   1
 
#define FPM_SCOREBOARD_SPINLOCK_MAX_RETRIES   50000
 

Functions

int fpm_scoreboard_init_main (void)
 
int fpm_scoreboard_init_child (struct fpm_worker_pool_s *wp)
 
void fpm_scoreboard_update_begin (struct fpm_scoreboard_s *scoreboard)
 
void fpm_scoreboard_update_commit (int idle, int active, int lq, int lq_len, int requests, int max_children_reached, int slow_rq, size_t memory_max, int action, struct fpm_scoreboard_s *scoreboard)
 
void fpm_scoreboard_update (int idle, int active, int lq, int lq_len, int requests, int max_children_reached, int slow_rq, size_t memory_max, int action, struct fpm_scoreboard_s *scoreboard)
 
struct fpm_scoreboard_sfpm_scoreboard_get (void)
 
struct fpm_scoreboard_proc_sfpm_scoreboard_proc_get (struct fpm_scoreboard_s *scoreboard, int child_index)
 
struct fpm_scoreboard_proc_sfpm_scoreboard_proc_get_from_child (struct fpm_child_s *child)
 
struct fpm_scoreboard_sfpm_scoreboard_acquire (struct fpm_scoreboard_s *scoreboard, int nohang)
 
void fpm_scoreboard_release (struct fpm_scoreboard_s *scoreboard)
 
struct fpm_scoreboard_proc_sfpm_scoreboard_proc_acquire (struct fpm_scoreboard_s *scoreboard, int child_index, int nohang)
 
void fpm_scoreboard_proc_release (struct fpm_scoreboard_proc_s *proc)
 
void fpm_scoreboard_free (struct fpm_worker_pool_s *wp)
 
void fpm_scoreboard_child_use (struct fpm_child_s *child, pid_t pid)
 
void fpm_scoreboard_proc_free (struct fpm_child_s *child)
 
int fpm_scoreboard_proc_alloc (struct fpm_child_s *child)
 
struct fpm_scoreboard_sfpm_scoreboard_copy (struct fpm_scoreboard_s *scoreboard, int copy_procs)
 
void fpm_scoreboard_free_copy (struct fpm_scoreboard_s *scoreboard)
 

Macro Definition Documentation

◆ FPM_SCOREBOARD_ACTION_INC

#define FPM_SCOREBOARD_ACTION_INC   1

Definition at line 16 of file fpm_scoreboard.h.

◆ FPM_SCOREBOARD_ACTION_SET

#define FPM_SCOREBOARD_ACTION_SET   0

Definition at line 15 of file fpm_scoreboard.h.

◆ FPM_SCOREBOARD_LOCK_HANG

#define FPM_SCOREBOARD_LOCK_HANG   0

Definition at line 18 of file fpm_scoreboard.h.

◆ FPM_SCOREBOARD_LOCK_NOHANG

#define FPM_SCOREBOARD_LOCK_NOHANG   1

Definition at line 19 of file fpm_scoreboard.h.

◆ FPM_SCOREBOARD_SPINLOCK_MAX_RETRIES

#define FPM_SCOREBOARD_SPINLOCK_MAX_RETRIES   50000

Definition at line 21 of file fpm_scoreboard.h.

Function Documentation

◆ fpm_scoreboard_acquire()

struct fpm_scoreboard_s * fpm_scoreboard_acquire ( struct fpm_scoreboard_s * scoreboard,
int nohang )

Definition at line 283 of file fpm_scoreboard.c.

◆ fpm_scoreboard_child_use()

void fpm_scoreboard_child_use ( struct fpm_child_s * child,
pid_t pid )

Definition at line 427 of file fpm_scoreboard.c.

◆ fpm_scoreboard_copy()

struct fpm_scoreboard_s * fpm_scoreboard_copy ( struct fpm_scoreboard_s * scoreboard,
int copy_procs )

Definition at line 328 of file fpm_scoreboard.c.

◆ fpm_scoreboard_free()

void fpm_scoreboard_free ( struct fpm_worker_pool_s * wp)

Definition at line 411 of file fpm_scoreboard.c.

◆ fpm_scoreboard_free_copy()

void fpm_scoreboard_free_copy ( struct fpm_scoreboard_s * scoreboard)

Definition at line 380 of file fpm_scoreboard.c.

◆ fpm_scoreboard_get()

struct fpm_scoreboard_s * fpm_scoreboard_get ( void )

Definition at line 236 of file fpm_scoreboard.c.

◆ fpm_scoreboard_init_child()

int fpm_scoreboard_init_child ( struct fpm_worker_pool_s * wp)

◆ fpm_scoreboard_init_main()

int fpm_scoreboard_init_main ( void )

Definition at line 24 of file fpm_scoreboard.c.

◆ fpm_scoreboard_proc_acquire()

struct fpm_scoreboard_proc_s * fpm_scoreboard_proc_acquire ( struct fpm_scoreboard_s * scoreboard,
int child_index,
int nohang )

Definition at line 385 of file fpm_scoreboard.c.

◆ fpm_scoreboard_proc_alloc()

int fpm_scoreboard_proc_alloc ( struct fpm_child_s * child)

Definition at line 464 of file fpm_scoreboard.c.

◆ fpm_scoreboard_proc_free()

void fpm_scoreboard_proc_free ( struct fpm_child_s * child)

Definition at line 441 of file fpm_scoreboard.c.

◆ fpm_scoreboard_proc_get()

struct fpm_scoreboard_proc_s * fpm_scoreboard_proc_get ( struct fpm_scoreboard_s * scoreboard,
int child_index )

Definition at line 256 of file fpm_scoreboard.c.

◆ fpm_scoreboard_proc_get_from_child()

struct fpm_scoreboard_proc_s * fpm_scoreboard_proc_get_from_child ( struct fpm_child_s * child)

Definition at line 271 of file fpm_scoreboard.c.

◆ fpm_scoreboard_proc_release()

void fpm_scoreboard_proc_release ( struct fpm_scoreboard_proc_s * proc)

Definition at line 402 of file fpm_scoreboard.c.

◆ fpm_scoreboard_release()

void fpm_scoreboard_release ( struct fpm_scoreboard_s * scoreboard)

Definition at line 320 of file fpm_scoreboard.c.

◆ fpm_scoreboard_update()

void fpm_scoreboard_update ( int idle,
int active,
int lq,
int lq_len,
int requests,
int max_children_reached,
int slow_rq,
size_t memory_max,
int action,
struct fpm_scoreboard_s * scoreboard )

Definition at line 226 of file fpm_scoreboard.c.

◆ fpm_scoreboard_update_begin()

void fpm_scoreboard_update_begin ( struct fpm_scoreboard_s * scoreboard)

Definition at line 105 of file fpm_scoreboard.c.

◆ fpm_scoreboard_update_commit()

void fpm_scoreboard_update_commit ( int idle,
int active,
int lq,
int lq_len,
int requests,
int max_children_reached,
int slow_rq,
size_t memory_max,
int action,
struct fpm_scoreboard_s * scoreboard )

Definition at line 142 of file fpm_scoreboard.c.