/* $Id$ */
#define IS_EXT_MODULE
-#if 1
-
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
static int le_db;
-#if THREAD_SAFE
-DWORD DbmTls;
-static int numthreads=0;
-#endif
-
-/*needed for blocking calls in windows*/
-void *dbm_mutex;
-
/* {{{ php_find_dbm
*/
dbm_info *php_find_dbm(pval *id TSRMLS_DC)
/* {{{ php_dbm_close
*/
-int php_dbm_close(zend_rsrc_list_entry *rsrc TSRMLS_DC)
+void php_dbm_close(zend_rsrc_list_entry *rsrc TSRMLS_DC)
{
int ret = 0;
dbm_info *info = (dbm_info *)rsrc->ptr;
*/
PHP_MINIT_FUNCTION(db)
{
-#if defined(THREAD_SAFE)
- dbm_global_struct *dbm_globals;
- PHP_MUTEX_ALLOC(dbm_mutex);
- PHP_MUTEX_LOCK(dbm_mutex);
- numthreads++;
- if (numthreads==1){
- if (!PHP3_TLS_PROC_STARTUP(DbmTls)){
- PHP_MUTEX_UNLOCK(dbm_mutex);
- PHP_MUTEX_FREE(dbm_mutex);
- return FAILURE;
- }
- }
- PHP_MUTEX_UNLOCK(dbm_mutex);
- if(!PHP3_TLS_THREAD_INIT(DbmTls, dbm_globals, dbm_global_struct)){
- PHP_MUTEX_FREE(dbm_mutex);
- return FAILURE;
- }
-#endif
-
le_db = zend_register_list_destructors_ex(php_dbm_close, NULL, "dbm", module_number);
return SUCCESS;
}
/* }}} */
-/* {{{ PHP_MSHUTDOWN_FUNCTION
- */
-static PHP_MSHUTDOWN_FUNCTION(db)
-{
-#ifdef THREAD_SAFE
- PHP3_TLS_THREAD_FREE(dbm_globals);
- PHP_MUTEX_LOCK(dbm_mutex);
- numthreads--;
- if (numthreads<1) {
- PHP3_TLS_PROC_SHUTDOWN(DbmTls);
- PHP_MUTEX_UNLOCK(dbm_mutex);
- PHP_MUTEX_FREE(dbm_mutex);
- return SUCCESS;
- }
- PHP_MUTEX_UNLOCK(dbm_mutex);
-#endif
- return SUCCESS;
-}
-/* }}} */
-
/* {{{ PHP_RINIT_FUNCTION
*/
PHP_RINIT_FUNCTION(db)
/* }}} */
zend_module_entry dbm_module_entry = {
- STANDARD_MODULE_HEADER,
+ STANDARD_MODULE_HEADER,
"db",
- dbm_functions,
- PHP_MINIT(db),
- PHP_MSHUTDOWN(db),
- PHP_RINIT(db),
- NULL,
- PHP_MINFO(db),
- NO_VERSION_YET,
- STANDARD_MODULE_PROPERTIES
+ dbm_functions,
+ PHP_MINIT(db),
+ NULL,
+ PHP_RINIT(db),
+ NULL,
+ PHP_MINFO(db),
+ NO_VERSION_YET,
+ STANDARD_MODULE_PROPERTIES
};
#ifdef COMPILE_DL_DB
ZEND_GET_MODULE(dbm)
#endif
-#endif
-
/*
* Local variables:
* tab-width: 4
#endif
dbm_info *php_find_dbm(pval *id TSRMLS_DC);
-int php_dbm_close(zend_rsrc_list_entry *rsrc TSRMLS_DC);
+void php_dbm_close(zend_rsrc_list_entry *rsrc TSRMLS_DC);
dbm_info *php_dbm_open(char *filename, char *mode TSRMLS_DC);
int php_dbm_insert(dbm_info *info, char *key, char *value TSRMLS_DC);
char *php_dbm_fetch(dbm_info *info, char *key TSRMLS_DC);