Changeset 1260:4f6f61e67599 in freeDiameter for extensions/rt_redirect/rt_redir.c
- Timestamp:
- Mar 24, 2014, 9:21:41 PM (10 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/rt_redirect/rt_redir.c
r1259 r1260 1 1 /********************************************************************************************************* 2 2 * Software License Agreement (BSD License) * 3 * Author: Sebastien Decugis <sdecugis@freediameter.net> * 3 * Authors: Sebastien Decugis <sdecugis@freediameter.net> * 4 * and Thomas Klausner <tk@giga.or.at> * 4 5 * * 5 * Copyright (c) 2011, WIDE Project and NICT*6 * Copyright (c) 2011, 2014, WIDE Project and NICT * 6 7 * All rights reserved. * 7 8 * * … … 72 73 void fd_ext_fini(void) 73 74 { 74 int i;75 76 75 /* Unregister the callbacks */ 77 76 if (fwd_hdl) { … … 86 85 87 86 /* Empty all entries */ 88 CHECK_POSIX_DO( pthread_mutex_lock(&redir_exp_peer_lock), ); 89 for (i = 0; i <= H_U_MAX; i++) { 90 CHECK_POSIX_DO( pthread_rwlock_wrlock( &redirects_usages[i].lock), ); 91 while (!FD_IS_LIST_EMPTY(&redirects_usages[i].sentinel)) { 92 struct redir_entry * e = redirects_usages[i].sentinel.next->o; 93 fd_list_unlink(&e->redir_list); 94 CHECK_FCT_DO( redir_entry_destroy(e), ); 95 } 96 CHECK_POSIX_DO( pthread_rwlock_unlock( &redirects_usages[i].lock), ); 97 CHECK_POSIX_DO( pthread_rwlock_destroy( &redirects_usages[i].lock), ); 98 } 99 CHECK_POSIX_DO( pthread_mutex_unlock(&redir_exp_peer_lock), ); 87 redir_entry_fini(); 100 88 101 89 return;
Note: See TracChangeset
for help on using the changeset viewer.