• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/OpenLDAP-499.27/OpenLDAP/libraries/librewrite/

Lines Matching refs:session

72  * Inits a session
80 struct rewrite_session *session, tmp;
91 session = ( struct rewrite_session * )avl_find( info->li_cookies,
93 if ( session ) {
94 session->ls_count++;
98 return session;
101 session = calloc( sizeof( struct rewrite_session ), 1 );
102 if ( session == NULL ) {
105 session->ls_cookie = ( void * )cookie;
106 session->ls_count = 1;
109 if ( ldap_pvt_thread_mutex_init( &session->ls_mutex ) ) {
110 free( session );
113 if ( ldap_pvt_thread_rdwr_init( &session->ls_vars_mutex ) ) {
114 ldap_pvt_thread_mutex_destroy( &session->ls_mutex );
115 free( session );
120 rc = avl_insert( &info->li_cookies, ( caddr_t )session,
130 ldap_pvt_thread_rdwr_destroy( &session->ls_vars_mutex );
131 ldap_pvt_thread_mutex_destroy( &session->ls_mutex );
134 free( session );
138 return session;
142 * Fetches a session
150 struct rewrite_session *session, tmp;
159 session = ( struct rewrite_session * )avl_find( info->li_cookies,
162 if ( session ) {
163 ldap_pvt_thread_mutex_lock( &session->ls_mutex );
168 return session;
172 * Returns a session
177 struct rewrite_session *session
180 assert( session != NULL );
181 ldap_pvt_thread_mutex_unlock( &session->ls_mutex );
185 * Defines and inits a var with session scope
196 struct rewrite_session *session;
204 session = rewrite_session_find( info, cookie );
205 if ( session == NULL ) {
206 session = rewrite_session_init( info, cookie );
207 if ( session == NULL ) {
212 ldap_pvt_thread_mutex_lock( &session->ls_mutex );
217 ldap_pvt_thread_rdwr_wlock( &session->ls_vars_mutex );
220 var = rewrite_var_find( session->ls_vars, name );
227 var = rewrite_var_insert_f( &session->ls_vars, name, value, flags );
230 ldap_pvt_thread_rdwr_wunlock( &session->ls_vars_mutex );
232 rewrite_session_return( info, session );
238 ldap_pvt_thread_rdwr_wunlock( &session->ls_vars_mutex );
241 rewrite_session_return( info, session );
247 * Gets a var with session scope
257 struct rewrite_session *session;
273 session = rewrite_session_find( info, cookie );
274 if ( session == NULL ) {
279 ldap_pvt_thread_rdwr_rlock( &session->ls_vars_mutex );
282 var = rewrite_var_find( session->ls_vars, name );
293 ldap_pvt_thread_rdwr_runlock( &session->ls_vars_mutex );
296 rewrite_session_return( info, session );
304 struct rewrite_session *session = (struct rewrite_session *)v_session;
307 ldap_pvt_thread_rdwr_wlock( &session->ls_vars_mutex );
310 rewrite_var_delete( session->ls_vars );
313 ldap_pvt_thread_rdwr_wunlock( &session->ls_vars_mutex );
314 ldap_pvt_thread_rdwr_destroy( &session->ls_vars_mutex );
315 ldap_pvt_thread_mutex_unlock( &session->ls_mutex );
316 ldap_pvt_thread_mutex_destroy( &session->ls_mutex );
323 struct rewrite_session *session = (struct rewrite_session *)v_session;
325 ldap_pvt_thread_mutex_lock( &session->ls_mutex );
331 * Deletes a session
339 struct rewrite_session *session, tmp = { 0 };
344 session = rewrite_session_find( info, cookie );
346 if ( session == NULL ) {
350 if ( --session->ls_count > 0 ) {
351 rewrite_session_return( info, session );
355 rewrite_session_clean( session );
370 free( session );
396 * Should call per-session destruction routine ...