diff options
author | striker <striker@13f79535-47bb-0310-9956-ffa450edef68> | 2001-12-14 02:16:55 +0000 |
---|---|---|
committer | striker <striker@13f79535-47bb-0310-9956-ffa450edef68> | 2001-12-14 02:16:55 +0000 |
commit | 9473594662157f0d6325327faec0c4d2ce705981 (patch) | |
tree | d859fa9ece1136a461508799134df5d3cb21a1ad /misc | |
parent | a23778e2fc9853ab90f5c33b1cb8e751ca238f34 (diff) | |
download | libapr-9473594662157f0d6325327faec0c4d2ce705981.tar.gz |
Move us over to the new pools code. The debug code isn't in place yet,
so hold off on APR_POOL_DEBUG for a day.
No API changes.
Reviewed by: Justin Erenkrantz, Brian Pane
git-svn-id: http://svn.apache.org/repos/asf/apr/apr/trunk@62645 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'misc')
-rw-r--r-- | misc/unix/start.c | 39 |
1 files changed, 22 insertions, 17 deletions
diff --git a/misc/unix/start.c b/misc/unix/start.c index a1c441a86..220a0afd1 100644 --- a/misc/unix/start.c +++ b/misc/unix/start.c @@ -64,10 +64,10 @@ static int initialized = 0; -static apr_pool_t *global_apr_pool; APR_DECLARE(apr_status_t) apr_initialize(void) { + apr_pool_t *pool; apr_status_t status; #if defined WIN32 || defined(NETWARE) int iVersionRequested; @@ -82,21 +82,31 @@ APR_DECLARE(apr_status_t) apr_initialize(void) return APR_SUCCESS; } - if (apr_pool_create(&global_apr_pool, NULL) != APR_SUCCESS) { +#if !defined(BEOS) && !defined(OS2) && !defined(WIN32) && !defined(NETWARE) + apr_unix_setup_lock(); + apr_proc_mutex_unix_setup_lock(); + apr_unix_setup_time(); +#endif + +#if defined(NETWARE) + apr_netware_setup_time(); +#endif + + if ((status = apr_pool_initialize()) != APR_SUCCESS) + return status; + + if (apr_pool_create(&pool, NULL) != APR_SUCCESS) { return APR_ENOPOOL; } #ifdef WIN32 /* Initialize apr_os_level global */ - if (apr_get_oslevel(global_apr_pool, &osver) != APR_SUCCESS) { + if (apr_get_oslevel(pool, &osver) != APR_SUCCESS) { return APR_EEXIST; } #endif -#if !defined(BEOS) && !defined(OS2) && !defined(WIN32) && !defined(NETWARE) - apr_unix_setup_lock(); - apr_proc_mutex_unix_setup_lock(); - apr_unix_setup_time(); -#elif defined WIN32 || defined(NETWARE) + +#if defined WIN32 || defined(NETWARE) iVersionRequested = MAKEWORD(WSAHighByte, WSALowByte); err = WSAStartup((WORD) iVersionRequested, &wsaData); if (err) { @@ -108,14 +118,8 @@ APR_DECLARE(apr_status_t) apr_initialize(void) return APR_EEXIST; } #endif -#if defined(NETWARE) - apr_netware_setup_time(); -#endif - - if ((status = apr_pool_alloc_init(global_apr_pool)) != APR_SUCCESS) - return status; - - apr_signal_init(global_apr_pool); + + apr_signal_init(pool); return APR_SUCCESS; } @@ -126,7 +130,8 @@ APR_DECLARE_NONSTD(void) apr_terminate(void) if (initialized) { return; } - apr_pool_alloc_term(global_apr_pool); + apr_pool_terminate(); + #if defined(NETWARE) WSACleanup(); #endif |