From 271cf23083b38b3f0d12a36bb1f28e458ee43861 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Tue, 21 Nov 2006 12:39:31 +0000 Subject: Fixed handles leak upon program exit, by introducing pj_shutdown() and pj_atexit(). Also fixed handle leaks in SIP transaction layer and SIP endpoint. git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@815 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip-apps/src/samples/aectest.c | 2 ++ pjsip-apps/src/samples/confsample.c | 2 ++ pjsip-apps/src/samples/level.c | 3 +++ pjsip-apps/src/samples/pjsip-perf.c | 3 +++ pjsip-apps/src/samples/playfile.c | 3 +++ pjsip-apps/src/samples/playsine.c | 3 +++ pjsip-apps/src/samples/recfile.c | 3 +++ pjsip-apps/src/samples/resampleplay.c | 3 +++ pjsip-apps/src/samples/siprtp.c | 4 ++++ pjsip-apps/src/samples/sndinfo.c | 3 +++ pjsip-apps/src/samples/streamutil.c | 3 +++ pjsip-apps/src/samples/tonegen.c | 3 +++ 12 files changed, 35 insertions(+) (limited to 'pjsip-apps') diff --git a/pjsip-apps/src/samples/aectest.c b/pjsip-apps/src/samples/aectest.c index 85250024..5f150682 100644 --- a/pjsip-apps/src/samples/aectest.c +++ b/pjsip-apps/src/samples/aectest.c @@ -210,6 +210,8 @@ int main(int argc, char *argv[]) /* Destroy pool factory */ pj_caching_pool_destroy( &cp ); + /* Shutdown PJLIB */ + pj_shutdown(); /* Done. */ return 0; diff --git a/pjsip-apps/src/samples/confsample.c b/pjsip-apps/src/samples/confsample.c index c37db4a7..2a943a2c 100644 --- a/pjsip-apps/src/samples/confsample.c +++ b/pjsip-apps/src/samples/confsample.c @@ -460,6 +460,8 @@ on_quit: /* Destroy pool factory */ pj_caching_pool_destroy( &cp ); + /* Shutdown PJLIB */ + pj_shutdown(); /* Done. */ return 0; diff --git a/pjsip-apps/src/samples/level.c b/pjsip-apps/src/samples/level.c index 278ad7a1..27b4dda3 100644 --- a/pjsip-apps/src/samples/level.c +++ b/pjsip-apps/src/samples/level.c @@ -155,6 +155,9 @@ int main(int argc, char *argv[]) /* Destroy pool factory */ pj_caching_pool_destroy( &cp ); + /* Shutdown PJLIB */ + pj_shutdown(); + /* Done. */ return 0; diff --git a/pjsip-apps/src/samples/pjsip-perf.c b/pjsip-apps/src/samples/pjsip-perf.c index e9d5f2f5..0f5dab00 100644 --- a/pjsip-apps/src/samples/pjsip-perf.c +++ b/pjsip-apps/src/samples/pjsip-perf.c @@ -894,6 +894,9 @@ static void destroy_app() app.cp.peak_used_size / 1000000)); pj_caching_pool_destroy(&app.cp); } + + /* Shutdown PJLIB */ + pj_shutdown(); } diff --git a/pjsip-apps/src/samples/playfile.c b/pjsip-apps/src/samples/playfile.c index 387f0776..c267cd8d 100644 --- a/pjsip-apps/src/samples/playfile.c +++ b/pjsip-apps/src/samples/playfile.c @@ -195,6 +195,9 @@ int main(int argc, char *argv[]) /* Destroy pool factory */ pj_caching_pool_destroy( &cp ); + /* Shutdown PJLIB */ + pj_shutdown(); + /* Done. */ return 0; diff --git a/pjsip-apps/src/samples/playsine.c b/pjsip-apps/src/samples/playsine.c index 4fad85b6..a9a37131 100644 --- a/pjsip-apps/src/samples/playsine.c +++ b/pjsip-apps/src/samples/playsine.c @@ -300,6 +300,9 @@ int main(int argc, char *argv[]) /* Destroy pool factory */ pj_caching_pool_destroy( &cp ); + /* Shutdown PJLIB */ + pj_shutdown(); + /* Done. */ return 0; diff --git a/pjsip-apps/src/samples/recfile.c b/pjsip-apps/src/samples/recfile.c index 6c197f35..745aa52f 100644 --- a/pjsip-apps/src/samples/recfile.c +++ b/pjsip-apps/src/samples/recfile.c @@ -190,6 +190,9 @@ int main(int argc, char *argv[]) /* Destroy pool factory */ pj_caching_pool_destroy( &cp ); + /* Shutdown PJLIB */ + pj_shutdown(); + /* Done. */ return 0; diff --git a/pjsip-apps/src/samples/resampleplay.c b/pjsip-apps/src/samples/resampleplay.c index e8d7aa26..396b2674 100644 --- a/pjsip-apps/src/samples/resampleplay.c +++ b/pjsip-apps/src/samples/resampleplay.c @@ -216,6 +216,9 @@ int main(int argc, char *argv[]) /* Destroy pool factory */ pj_caching_pool_destroy( &cp ); + /* Shutdown PJLIB */ + pj_shutdown(); + /* Done. */ return 0; diff --git a/pjsip-apps/src/samples/siprtp.c b/pjsip-apps/src/samples/siprtp.c index 4fc236ed..10d796e7 100644 --- a/pjsip-apps/src/samples/siprtp.c +++ b/pjsip-apps/src/samples/siprtp.c @@ -379,6 +379,10 @@ static void destroy_sip() pjsip_endpt_destroy(app.sip_endpt); app.sip_endpt = NULL; } + + /* Shutdown PJLIB */ + pj_shutdown(); + } diff --git a/pjsip-apps/src/samples/sndinfo.c b/pjsip-apps/src/samples/sndinfo.c index e15a12c5..fd9bf00f 100644 --- a/pjsip-apps/src/samples/sndinfo.c +++ b/pjsip-apps/src/samples/sndinfo.c @@ -285,6 +285,9 @@ int main(int argc, char *argv[]) return 1; } + /* Shutdown PJLIB */ + pj_shutdown(); + return 0; } diff --git a/pjsip-apps/src/samples/streamutil.c b/pjsip-apps/src/samples/streamutil.c index 89b0c93a..ed615eb6 100644 --- a/pjsip-apps/src/samples/streamutil.c +++ b/pjsip-apps/src/samples/streamutil.c @@ -517,6 +517,9 @@ on_exit: /* Destroy pool factory */ pj_caching_pool_destroy( &cp ); + /* Shutdown PJLIB */ + pj_shutdown(); + return (status == PJ_SUCCESS) ? 0 : 1; } diff --git a/pjsip-apps/src/samples/tonegen.c b/pjsip-apps/src/samples/tonegen.c index a703a7bb..27ea6318 100644 --- a/pjsip-apps/src/samples/tonegen.c +++ b/pjsip-apps/src/samples/tonegen.c @@ -146,6 +146,9 @@ int main() /* Destroy pool factory */ pj_caching_pool_destroy( &cp ); + /* Shutdown PJLIB */ + pj_shutdown(); + /* Done. */ return 0; -- cgit v1.2.3