diff options
author | Derrell Lipman <derrell@dworkin.(none)> | 2009-05-12 21:22:23 -0400 |
---|---|---|
committer | Derrell Lipman <derrell@dworkin.(none)> | 2009-05-12 21:24:34 -0400 |
commit | 8a60c26c7cb788fe181fb8db10e454b96dda23a9 (patch) | |
tree | 984f91070e1703d652762ff56a83e0b7133357ea /source3/libnet | |
parent | 3627ceb5e25cdecd1a8113a5028cc898a1424349 (diff) | |
download | samba-8a60c26c7cb788fe181fb8db10e454b96dda23a9.tar.gz samba-8a60c26c7cb788fe181fb8db10e454b96dda23a9.tar.bz2 samba-8a60c26c7cb788fe181fb8db10e454b96dda23a9.zip |
Fix broken smb_thread_once function
- We can't set *ponce=true before running the function because although other
threads wouldn't re-run the initialization function, they could potentially
proceed beyond the initialization point while the first thread was still
running the initialization function. If a second thread gets to an
SMB_THREAD_ONCE() call while one with the same ponce is running, we need to
ensure that it enters smb_thread_once() to await the mutex and then recheck
whether *ponce is set or not. My original comment about other "once"
functions possibly being called from within this "once" function is
irrelevant since those other ones would have their own unique ponce.
Derrell
Diffstat (limited to 'source3/libnet')
0 files changed, 0 insertions, 0 deletions