Winlin
23d2602c34
UniquePtr: Support SrsUniquePtr to replace SrsAutoFree. v6.0.136 ( #4109 )
...
To manage an object:
```cpp
// Before
MyClass* ptr = new MyClass();
SrsAutoFree(MyClass, ptr);
ptr->do_something();
// Now
SrsUniquePtr<MyClass> ptr(new MyClass());
ptr->do_something();
```
To manage an array of objects:
```cpp
// Before
char* ptr = new char[10];
SrsAutoFreeA(char, ptr);
ptr[0] = 0xf;
// Now
SrsUniquePtr<char[]> ptr(new char[10]);
ptr[0] = 0xf;
```
In fact, SrsUniquePtr is a limited subset of SrsAutoFree, mainly
managing pointers and arrays. SrsUniquePtr is better than SrsAutoFree
because it has the same API to standard unique ptr.
```cpp
SrsUniquePtr<MyClass> ptr(new MyClass());
ptr->do_something();
MyClass* p = ptr.get();
```
SrsAutoFree actually uses a pointer to a pointer, so it can be set to
NULL, allowing the pointer's value to be changed later (this usage is
different from SrsUniquePtr).
```cpp
// OK to free ptr correctly.
MyClass* ptr;
SrsAutoFree(MyClass, ptr);
ptr = new MyClass();
// Crash because ptr is an invalid pointer.
MyClass* ptr;
SrsUniquePtr<MyClass> ptr(ptr);
ptr = new MyClass();
```
Additionally, SrsAutoFreeH can use specific release functions, which
SrsUniquePtr does not support.
---------
Co-authored-by: Jacob Su <suzp1984@gmail.com>
8 months ago
Winlin
7ab012c60f
SmartPtr: Support detect memory leak by valgrind. v6.0.132 ( #4102 )
...
1. Support detect memory leak by valgrind.
2. Free the http handler entry.
3. Free the stack of ST.
---
Co-authored-by: Jacob Su <suzp1984@gmail.com>
8 months ago
winlin
2a2da2253f
Switch to 2013-2024. v6.0.109
1 year ago
winlin
c46ef81ff2
SRS5: Update license date to 2023. v5.0.123
...
PICK 72f8ed4916
2 years ago
chengh
6fa17aa3f8
ST: Support st_destroy to free resources for asan.
2 years ago
winlin
5a1a234855
ST: Refine tools and CMakeLists.txt. Add backtrace example. v5.0.79
2 years ago
winlin
dc20d5ddbc
ST: Support set context id while thread running. v5.0.72
2 years ago
winlin
297a104fef
Update state-threads to v1.9.4.
3 years ago
winlin
eb2056db25
ST: Define and use a new jmpbuf. v5.0.57
3 years ago
winlin
e9d6601f7d
For #2136 : API: Cleanup no active streams for statistics. v5.0.42
3 years ago
ChenGH
f2fa289fe8
AppleM1: Support Apple Silicon M1(aarch64).
3 years ago
winlin
1589858cb0
Support MIPS 64bits for loongson 3A4000/3B3000. v5.0.34
3 years ago
winlin
f7280399d4
Merge 4.0release, migrate to new website.
3 years ago
Steven Liu
08c4b25030
RISCV: Patch ST and libsrtp. #3115
3 years ago
winlin
339d3b31cc
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.
3 years ago
winlin
4110fb14cb
Squash: Fix bugs. v5.0.20
3 years ago
winlin
56a9e4d140
Change images from gitee to ossrs.net
3 years ago
winlin
5b44cc6a17
For #2689 , Support loongarch, loongson CPU. v5.0.19
3 years ago
winlin
596dd8c523
Support daemon(fork twice) for Darwin/OSX. v5.0.18
3 years ago
winlin
8ea9783de7
OpenWRT: Disable mprotect of ST. 5.0.16
3 years ago
winlin
1836847269
ST: Support Cygwin64 and MIPS
3 years ago
winlin
983d521987
API: Use libuuid to generate uuid. v5.0.9
4 years ago
winlin
6ddef894d9
ST: Refine OSX asm.
4 years ago
winlin
442cf615c0
ST: Simplify it, only Linux/Darwin, epoll/kqueue, single process. 5.0.2
...
commit f4872e528cad07f8ea683cc8cb26e34111bad1b5
Author: winlin <winlin@vip.126.com>
Date: Fri Feb 26 09:13:21 2021 +0800
ST: For #2188 : Remove sendmmsg from ST.
commit aaeb8919bd4a026268e0600398cb1e9ad477663f
Author: winlin <winlin@vip.126.com>
Date: Thu Mar 11 08:09:54 2021 +0800
ST: Refine utest script.
commit d1ac9da53060b6bfa82b5d041da4c2ad9bd6b90a
Author: winlin <winlin@vip.126.com>
Date: Wed Mar 3 11:02:25 2021 +0800
ST: Support fast utest and coverage
commit 8400115b83c022e33f59422dbf6d85ee46fb9edb
Author: winlin <winlin@vip.126.com>
Date: Fri Feb 26 07:02:19 2021 +0800
ST: Always use unserialized accept for linux or darwin
commit c3686f2bca80d2c139239b08975575b1bb981ffa
Author: winlin <winlin@vip.126.com>
Date: Fri Feb 26 06:54:05 2021 +0800
ST: Refine ARFLAGS by disable the verbose log
commit aaa5c4f863eba278c4ed2b29a46297fb01a4ed63
Author: winlin <winlin@vip.126.com>
Date: Thu Feb 25 08:58:46 2021 +0800
ST: Stack always grows from top to down.
commit dddd466e5c2e418c6f4896cd8bf701130052b3d9
Author: winlin <winlin@vip.126.com>
Date: Thu Feb 25 08:51:31 2021 +0800
ST: Ignore process fork, for single process only
commit 7906cb5f6e78c916cb8b8d9522275bfc086bb6a3
Author: winlin <winlin@vip.126.com>
Date: Thu Feb 25 08:50:59 2021 +0800
ST: Fix build warnings
commit d94921b84a3b6cf88ace2c766cc2bfedb9c0602e
Author: winlin <winlin@vip.126.com>
Date: Thu Feb 25 07:27:45 2021 +0800
ST: Remove select and poll support, only epoll and kqueue
commit 76d202514615f78d1a8f2b15778f3dac5abf4abb
Author: winlin <winlin@vip.126.com>
Date: Thu Feb 25 07:10:47 2021 +0800
ST: Remove multiple OS support, except Linux and Darwin.
commit 13c4ba345c61170e86dde486a174378ca235f442
Author: winlin <winlin@vip.126.com>
Date: Thu Feb 25 06:59:35 2021 +0800
ST: Remove __ia64__ CPU support
commit 46c06e4a11879cfeb828382e44f11287782ce4b5
Author: winlin <winlin@vip.126.com>
Date: Wed Feb 24 11:37:27 2021 +0800
ST: Remove unused files for ST
4 years ago
winlin
1ee77614fb
Refine comments
4 years ago
winlin
bb37a5550c
Test: Update srs-bench
4 years ago
winlin
7d12c3641a
Merge ST, support utest and coverage by gtest.
4 years ago
winlin
cec588e08a
For #2188 : Remove sendmmsg from ST.
4 years ago
winlin
34dae0fe0d
For #2188 : Remove sendmmsg from ST.
4 years ago
winlin
0fe031a156
Support to disable stats by default
4 years ago
winlin
a049ce3fb7
For #2194 , Core: Refine yield for high performance timer.
4 years ago
winlin
b4b9776b02
Core: Support yield current coroutine for high performance timer.
4 years ago
winlin
d8563398b2
Clock: Update stat. Insert timer to execute first
4 years ago
winlin
9db7126eb4
Core: Refine ST stat for thread switch
4 years ago
winlin
15f7fa2c36
Core: Refine ST stat for io events
4 years ago
winlin
12d7e57011
Core: Refine sched and clock stat
4 years ago
winlin
70fb647ac9
Perf: Add stat for sched of ST.
4 years ago
winlin
e91e0eaf46
Perf: Add stat for io of ST.
4 years ago
winlin
25be6d6bc0
Support to disable stats by default
4 years ago
winlin
a04dd7ed30
For #2194 , Core: Refine yield for high performance timer.
4 years ago
winlin
79f9cd6b3a
Core: Support yield current coroutine for high performance timer.
4 years ago
winlin
321f555e30
Clock: Update stat. Insert timer to execute first
4 years ago
winlin
71cc8e35d9
Core: Refine ST stat for thread switch
4 years ago
winlin
e726aba8f9
Core: Refine ST stat for io events
4 years ago
winlin
cde456710d
Core: Refine sched and clock stat
4 years ago
winlin
a46debb4bb
Perf: Add stat for sched of ST.
4 years ago
winlin
7b913b1115
Perf: Add stat for io of ST.
4 years ago
winlin
6fa3b8212c
Update ST doc
4 years ago
winlin
9ada516e98
At least wait 1ms when <1ms, to avoid epoll_wait spin loop. 4.0.66
4 years ago
winlin
de3ec74657
Update ST doc
4 years ago