1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

refine code, support configure to enable --memory-watch

This commit is contained in:
winlin 2015-06-13 15:45:25 +08:00
parent 0d6a574216
commit 0d66e92ab5
8 changed files with 22 additions and 17 deletions

View file

@ -569,7 +569,7 @@ void SrsServer::dispose()
st_usleep(100 * 1000);
}
#ifdef SRS_MEM_WATCH
#ifdef SRS_AUTO_MEM_WATCH
srs_memory_report();
#endif
}
@ -893,7 +893,7 @@ void SrsServer::on_signal(int signo)
signal_gmc_stop = true;
#else
srs_trace("user terminate program");
#ifdef SRS_MEM_WATCH
#ifdef SRS_AUTO_MEM_WATCH
srs_memory_report();
#endif
exit(0);

View file

@ -23,7 +23,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <srs_core_mem_watch.hpp>
#ifdef SRS_MEM_WATCH
#ifdef SRS_AUTO_MEM_WATCH
#include <map>
#include <stdio.h>
@ -68,7 +68,7 @@ void srs_memory_unwatch(void* ptr)
void srs_memory_report()
{
printf("srs memory leak report:\n");
printf("srs memory watch leak report:\n");
int total = 0;
std::map<void*, SrsMemoryObject*>::iterator it;
@ -79,6 +79,7 @@ void srs_memory_report()
}
printf("%d objects leak %dKB.\n", (int)_srs_ptrs.size(), total / 1024);
printf("@remark use script to cleanup for memory watch: ./etc/init.d/srs stop\n");
}
#endif

View file

@ -30,7 +30,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <srs_core.hpp>
#ifdef SRS_MEM_WATCH
#ifdef SRS_AUTO_MEM_WATCH
#include <string>

View file

@ -174,7 +174,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
* to force the server to send smaller tcp packet.
* @see https://github.com/simple-rtmp-server/srs/issues/320
* @remark undef it to auto calc it by merged write sleep ms.
* @remark only apply it when SRS_PERF_MW_SO_RCVBUF is defined.
* @remark only apply it when SRS_PERF_MW_SO_SNDBUF is defined.
*/
#ifdef SRS_PERF_MW_SO_SNDBUF
//#define SRS_PERF_SO_SNDBUF_SIZE 1024
@ -188,12 +188,5 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#undef SRS_PERF_FAST_FLV_ENCODER
#define SRS_PERF_FAST_FLV_ENCODER
/**
* whether enable the special memory watcher.
* which used for memory leak debug and hurts performance.
*/
#define SRS_MEM_WATCH
#undef SRS_MEM_WATCH
#endif

View file

@ -160,7 +160,7 @@ SrsCommonMessage::SrsCommonMessage()
SrsCommonMessage::~SrsCommonMessage()
{
#ifdef SRS_MEM_WATCH
#ifdef SRS_AUTO_MEM_WATCH
srs_memory_unwatch(payload);
#endif
srs_freep(payload);
@ -173,7 +173,7 @@ void SrsCommonMessage::create_payload(int size)
payload = new char[size];
srs_verbose("create payload for RTMP message. size=%d", size);
#ifdef SRS_MEM_WATCH
#ifdef SRS_AUTO_MEM_WATCH
srs_memory_watch(payload, "RTMP.msg.payload", size);
#endif
}
@ -187,7 +187,7 @@ SrsSharedPtrMessage::SrsSharedPtrPayload::SrsSharedPtrPayload()
SrsSharedPtrMessage::SrsSharedPtrPayload::~SrsSharedPtrPayload()
{
#ifdef SRS_MEM_WATCH
#ifdef SRS_AUTO_MEM_WATCH
srs_memory_unwatch(payload);
#endif
srs_freep(payload);

View file

@ -212,7 +212,7 @@ void check_macro_features()
srs_warn("SRS %s is not stable, please use stable branch %s instead", RTMP_SIG_SRS_VERSION, VERSION_STABLE_BRANCH);
#endif
#ifdef SRS_MEM_WATCH
#ifdef SRS_AUTO_MEM_WATCH
#warning "srs memory watcher will hurts performance. user should kill by SIGTERM or init.d script."
srs_warn("srs memory watcher will hurts performance. user should kill by SIGTERM or init.d script.");
#endif