void wi_test_recursive_lock_creation(void) { #ifdef WI_PTHREADS wi_recursive_lock_t *lock; lock = wi_autorelease(wi_recursive_lock_init(wi_recursive_lock_alloc())); WI_TEST_ASSERT_NOT_NULL(lock, ""); #endif }
void wi_runtime_initialize(void) { char *env; _wi_runtime_retain_count_lock = wi_recursive_lock_init(wi_recursive_lock_alloc()); env = getenv("wi_zombie_enabled"); if(env) wi_zombie_enabled = (strcmp(env, "0") != 0); }
void wi_test_recursive_lock_runtime_functions(void) { #ifdef WI_PTHREADS wi_recursive_lock_t *lock; lock = wi_autorelease(wi_recursive_lock_init(wi_recursive_lock_alloc())); WI_TEST_ASSERT_EQUALS(wi_runtime_id(lock), wi_recursive_lock_runtime_id(), ""); WI_TEST_ASSERT_NOT_EQUALS(wi_string_index_of_string(wi_description(lock), WI_STR("wi_recursive_lock_t"), 0), WI_NOT_FOUND, ""); #endif }
static wd_user_t * wd_user_init_with_socket(wd_user_t *user, wi_socket_t *socket) { wi_address_t *address; user->id = wd_user_next_id(); user->socket = wi_retain(socket); user->state = WD_USER_CONNECTED; user->login_time = wi_date_init(wi_date_alloc()); user->idle_time = wi_date_init(wi_date_alloc()); address = wi_socket_address(socket); user->ip = wi_retain(wi_address_string(address)); user->host = wi_retain(wi_address_hostname(address)); user->user_lock = wi_recursive_lock_init(wi_recursive_lock_alloc()); user->socket_lock = wi_recursive_lock_init(wi_recursive_lock_alloc()); user->subscribed_paths = wi_set_init_with_capacity(wi_mutable_set_alloc(), 0, true); user->subscribed_virtualpaths = wi_dictionary_init(wi_mutable_dictionary_alloc()); return user; }
static wd_user_t * wd_user_init_with_socket(wd_user_t *user, wi_socket_t *socket) { wi_address_t *address; user->uid = wd_user_next_uid(); user->socket = wi_retain(socket); user->state = WD_USER_CONNECTED; user->login_time = wi_time_interval(); user->idle_time = user->login_time; address = wi_socket_address(socket); user->ip = wi_retain(wi_address_string(address)); user->host = wi_retain(wi_address_hostname(address)); user->user_lock = wi_recursive_lock_init(wi_recursive_lock_alloc()); user->socket_lock = wi_lock_init(wi_lock_alloc()); user->transfers_queue = wi_array_init(wi_array_alloc()); return user; }
wi_sqlite3_database_t * wi_sqlite3_open_database_with_path(wi_string_t *path) { wi_sqlite3_database_t *database; database = wi_autorelease(wi_runtime_create_instance(_wi_sqlite3_database_runtime_id, sizeof(wi_sqlite3_database_t))); database->lock = wi_recursive_lock_init(wi_recursive_lock_alloc()); if(sqlite3_open(wi_string_cstring(path), &database->database) == SQLITE_OK) { sqlite3_busy_handler(database->database, _wi_sqlite3_busy_handler, NULL); } else { if(database->database) { wi_error_set_sqlite3_error(database->database); sqlite3_close(database->database); database->database = NULL; } else { wi_error_set_errno(ENOMEM); } database = NULL; } return database; }
void wi_test_recursive_lock_locking(void) { #ifdef WI_PTHREADS wi_recursive_lock_t *lock; wi_boolean_t result; lock = wi_autorelease(wi_recursive_lock_init(wi_recursive_lock_alloc())); wi_recursive_lock_lock(lock); wi_recursive_lock_lock(lock); wi_recursive_lock_unlock(lock); wi_recursive_lock_unlock(lock); result = wi_recursive_lock_try_lock(lock); WI_TEST_ASSERT_TRUE(result, ""); result = wi_recursive_lock_try_lock(lock); WI_TEST_ASSERT_TRUE(result, ""); wi_recursive_lock_unlock(lock); wi_recursive_lock_unlock(lock); #endif }
void wi_log_initialize(void) { _wi_log_lock = wi_recursive_lock_init(wi_recursive_lock_alloc()); }
static wd_chat_t * wd_chat_init(wd_chat_t *chat) { chat->users = wi_array_init(wi_mutable_array_alloc()); chat->lock = wi_recursive_lock_init(wi_recursive_lock_alloc()); return chat; }