Lines Matching defs:session

151 		slot_session_t *session, *next_session;
154 * The slotobjects associated with the session should have
159 session = slots[slot].session_pool.idle_list_head;
160 while (session) {
161 next_session = session->next;
162 (void) FUNCLIST(session->fw_st_id)->C_CloseSession(
163 session->hSession);
165 &session->object_list_lock);
166 free(session);
167 session = next_session;
170 session = slots[slot].session_pool.persist_list_head;
171 while (session) {
172 next_session = session->next;
173 (void) FUNCLIST(session->fw_st_id)->C_CloseSession(
174 session->hSession);
176 &session->object_list_lock);
177 free(session);
178 session = next_session;
395 * Find a session in the given list that matches the specified flags.
396 * If such a session is found, it will be removed from the list, and
397 * returned to the caller. If such a session is not found, will
430 * Call to get a session with a specific slot/token.
440 meta_get_slot_session(CK_ULONG slotnum, slot_session_t **session,
454 * Try to reuse an existing session.
464 *session = tmp_session;
476 *session = tmp_session;
502 /* Retry with a RO session. */
514 /* Insert session into active list */
518 *session = new_session;
526 * Call to release a session obtained via meta_get_slot_session()
529 meta_release_slot_session(slot_session_t *session) {
534 pool = &slots[session->slotnum].session_pool;
536 /* Note that the active_list must have >= 1 entry (this session) */
543 * If the session has session objects, we need to retain it. Also
544 * retain it if it's the only session holding login state (or handles
547 must_retain = session->object_list_head != NULL ||
556 REMOVE_FROM_LIST(pool->active_list_head, session);
560 INSERT_INTO_LIST(pool->persist_list_head, session);
565 INSERT_INTO_LIST(pool->idle_list_head, session);
573 (void) FUNCLIST(session->fw_st_id)->C_CloseSession(session->hSession);
575 (void) pthread_rwlock_destroy(&session->object_list_lock);
576 free(session);