[BACK]Return to rtld.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / libexec / ld.elf_so

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/libexec/ld.elf_so/rtld.c between version 1.158.2.1 and 1.158.2.2

version 1.158.2.1, 2012/11/20 03:00:46 version 1.158.2.2, 2013/02/25 00:28:03
Line 1546  _rtld_shared_enter(void)
Line 1546  _rtld_shared_enter(void)
                  */                   */
                 if ((_rtld_mutex & RTLD_EXCLUSIVE_MASK) ||                  if ((_rtld_mutex & RTLD_EXCLUSIVE_MASK) ||
                     _rtld_waiter_exclusive)                      _rtld_waiter_exclusive)
                         _lwp_park(NULL, -1, __UNVOLATILE(&_rtld_mutex), NULL);                          _lwp_park(NULL, 0, __UNVOLATILE(&_rtld_mutex), NULL);
                 /* Try to remove us from the waiter list. */                  /* Try to remove us from the waiter list. */
                 atomic_cas_uint(&_rtld_waiter_shared, self, 0);                  atomic_cas_uint(&_rtld_waiter_shared, self, 0);
                 if (waiter)                  if (waiter)
Line 1602  _rtld_exclusive_enter(sigset_t *mask)
Line 1602  _rtld_exclusive_enter(sigset_t *mask)
                         _rtld_die();                          _rtld_die();
                 }                  }
                 if (cur)                  if (cur)
                         _lwp_park(NULL, -1, __UNVOLATILE(&_rtld_mutex), NULL);                          _lwp_park(NULL, 0, __UNVOLATILE(&_rtld_mutex), NULL);
                 atomic_cas_uint(&_rtld_waiter_exclusive, self, 0);                  atomic_cas_uint(&_rtld_waiter_exclusive, self, 0);
                 if (waiter)                  if (waiter)
                         _lwp_unpark(waiter, __UNVOLATILE(&_rtld_mutex));                          _lwp_unpark(waiter, __UNVOLATILE(&_rtld_mutex));

Legend:
Removed from v.1.158.2.1  
changed lines
  Added in v.1.158.2.2

CVSweb <webmaster@jp.NetBSD.org>