1c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm/* libunwind - a platform-independent unwind library 25724bee8c27219ac277ea76d75dc70fa830eaac0hp.com!davidm Copyright (C) 2001-2002, 2005 Hewlett-Packard Co 3c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm Contributed by David Mosberger-Tang <davidm@hpl.hp.com> 4c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm 5c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidmThis file is part of libunwind. 6c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm 7c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidmPermission is hereby granted, free of charge, to any person obtaining 8c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidma copy of this software and associated documentation files (the 9c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm"Software"), to deal in the Software without restriction, including 10c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidmwithout limitation the rights to use, copy, modify, merge, publish, 11c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidmdistribute, sublicense, and/or sell copies of the Software, and to 12c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidmpermit persons to whom the Software is furnished to do so, subject to 13c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidmthe following conditions: 14c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm 15c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidmThe above copyright notice and this permission notice shall be 16c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidmincluded in all copies or substantial portions of the Software. 17c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm 18c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidmTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 19c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidmEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 20c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidmMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 21c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidmNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 22c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidmLIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 23c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidmOF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 24c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidmWITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ 25c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm 265724bee8c27219ac277ea76d75dc70fa830eaac0hp.com!davidm#include "libunwind_i.h" 27c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm 28c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidmvoid 29c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm_U_dyn_cancel (unw_dyn_info_t *di) 30c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm{ 31c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm mutex_lock (&_U_dyn_info_list_lock); 32c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm { 33c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm ++_U_dyn_info_list.generation; 34c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm 35c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm if (di->prev) 36c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm di->prev->next = di->next; 37c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm else 38c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm _U_dyn_info_list.first = di->next; 39c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm 40c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm if (di->next) 41c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm di->next->prev = di->prev; 42c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm } 43c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm mutex_unlock (&_U_dyn_info_list_lock); 44c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm 45c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm di->next = di->prev = NULL; 46c4bff72d9c5ea3b71973f3240463bf47751ea423hp.com!davidm} 47