mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
ST: Support thread-local for multiple threads.
1. All statick and global variables is thread-local. 2. Call st_init() to init st for each thread. 3. Notice that ST is isolate for threads.
This commit is contained in:
parent
d117145b95
commit
339d3b31cc
8 changed files with 61 additions and 54 deletions
30
trunk/3rdparty/st-srs/io.c
vendored
30
trunk/3rdparty/st-srs/io.c
vendored
|
@ -56,20 +56,20 @@
|
|||
|
||||
// Global stat.
|
||||
#if defined(DEBUG) && defined(DEBUG_STATS)
|
||||
unsigned long long _st_stat_recvfrom = 0;
|
||||
unsigned long long _st_stat_recvfrom_eagain = 0;
|
||||
unsigned long long _st_stat_sendto = 0;
|
||||
unsigned long long _st_stat_sendto_eagain = 0;
|
||||
unsigned long long _st_stat_read = 0;
|
||||
unsigned long long _st_stat_read_eagain = 0;
|
||||
unsigned long long _st_stat_readv = 0;
|
||||
unsigned long long _st_stat_readv_eagain = 0;
|
||||
unsigned long long _st_stat_writev = 0;
|
||||
unsigned long long _st_stat_writev_eagain = 0;
|
||||
unsigned long long _st_stat_recvmsg = 0;
|
||||
unsigned long long _st_stat_recvmsg_eagain = 0;
|
||||
unsigned long long _st_stat_sendmsg = 0;
|
||||
unsigned long long _st_stat_sendmsg_eagain = 0;
|
||||
__thread unsigned long long _st_stat_recvfrom = 0;
|
||||
__thread unsigned long long _st_stat_recvfrom_eagain = 0;
|
||||
__thread unsigned long long _st_stat_sendto = 0;
|
||||
__thread unsigned long long _st_stat_sendto_eagain = 0;
|
||||
__thread unsigned long long _st_stat_read = 0;
|
||||
__thread unsigned long long _st_stat_read_eagain = 0;
|
||||
__thread unsigned long long _st_stat_readv = 0;
|
||||
__thread unsigned long long _st_stat_readv_eagain = 0;
|
||||
__thread unsigned long long _st_stat_writev = 0;
|
||||
__thread unsigned long long _st_stat_writev_eagain = 0;
|
||||
__thread unsigned long long _st_stat_recvmsg = 0;
|
||||
__thread unsigned long long _st_stat_recvmsg_eagain = 0;
|
||||
__thread unsigned long long _st_stat_sendmsg = 0;
|
||||
__thread unsigned long long _st_stat_sendmsg_eagain = 0;
|
||||
#endif
|
||||
|
||||
#if EAGAIN != EWOULDBLOCK
|
||||
|
@ -81,7 +81,7 @@ unsigned long long _st_stat_sendmsg_eagain = 0;
|
|||
#define _LOCAL_MAXIOV 16
|
||||
|
||||
/* File descriptor object free list */
|
||||
static _st_netfd_t *_st_netfd_freelist = NULL;
|
||||
static __thread _st_netfd_t *_st_netfd_freelist = NULL;
|
||||
/* Maximum number of file descriptors that the process can open */
|
||||
static int _st_osfd_limit = -1;
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue