summaryrefslogtreecommitdiffstats
path: root/source3
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2014-06-03 10:44:19 -0700
committerJeremy Allison <jra@samba.org>2014-06-07 03:15:14 +0200
commit536c799f00d7bdd6a574b6bdbc0e9c742eeef8b5 (patch)
treef59af2726545ce9fd8944b5ab07553af1a41b242 /source3
parent463311422ca1caad2e228deb630e9d12e212fae1 (diff)
downloadsamba-536c799f00d7bdd6a574b6bdbc0e9c742eeef8b5.tar.gz
samba-536c799f00d7bdd6a574b6bdbc0e9c742eeef8b5.tar.xz
samba-536c799f00d7bdd6a574b6bdbc0e9c742eeef8b5.zip
lib: tevent: make TEVENT_SIG_INCREMENT atomic.
On arm platforms incrementing a variable is not an atomic operation, so may be interrupted by signal processing (if a signal interrupts another signal handler). Use compiler built-ins to make this atomic. __sync_fetch_and_add() works on gcc, llvm, IBM xlC on AIX, and Intel icc (10.1 and above). atomic_add_32() works on Oracle Solaris. Based on an inital patch from kamei@osstech.co.jp. Bug #10640 - smbd is not responding - tevent_common_signal_handler() increments non-atomic variables https://bugzilla.samba.org/show_bug.cgi?id=10640 Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <Volker.Lendecke@SerNet.DE>
Diffstat (limited to 'source3')
0 files changed, 0 insertions, 0 deletions