Make fctx->attributes atomic.

FCTX_ATTR_SHUTTINGDOWN needs to be set and tested while holding the node
lock but the rest of the attributes don't as they are task locked. Making
fctx->attributes atomic allows both behaviours without races.
78 jobs for !2673 with 1412-threadsanitizer-data-race-resolver-c-7030-in-fctx_decreference-2 in 35 minutes and 50 seconds (queued for 9 seconds)
latest detached
Status Job ID Name Coverage
  Precheck
passed #447632
amd64 linux
🐞:sid:amd64

00:03:05

passed #447630
amd64 linux
autoreconf:sid:amd64

00:00:35

passed #447631
amd64 linux
misc:sid:amd64

00:00:21

 
  Build
passed #447645
amd64 linux
asan:sid:amd64

00:01:59

passed #447651
amd64 freebsd
clang:freebsd11.3:amd64

00:01:11

passed #447652
amd64 freebsd
clang:freebsd12.0:amd64

00:01:03

passed #447653
amd64 openbsd
clang:openbsd6.5:amd64

00:04:41

passed #447648
amd64 linux
clang:stretch:amd64

00:01:42

passed #447649
i386 linux
clang:stretch:i386

00:01:48

passed #447633
amd64 linux
gcc:alpine3.10:amd64

00:01:55

passed #447644
amd64 linux
gcc:bionic:amd64

00:01:36

passed #447639
amd64 linux
gcc:buster:amd64

00:01:30

passed #447634
amd64 linux
gcc:centos6:amd64

00:01:57

passed #447635
amd64 linux
gcc:centos7:amd64

00:02:04

passed #447636
amd64 linux
gcc:centos8:amd64

00:02:11

passed #447642
amd64 linux
gcc:fedora30:amd64

00:01:45

passed #447637
amd64 linux
gcc:jessie:amd64

00:01:20

passed #447640
amd64 linux
gcc:sid:amd64

00:02:31

passed #447641
i386 linux
gcc:sid:i386

00:01:12

passed #447638
amd64 linux
gcc:stretch:amd64

00:01:12

passed #447643
amd64 linux
gcc:xenial:amd64

00:01:31

passed #447655
amd64 windows
msvc:windows:amd64

00:04:34

passed #447647
amd64 linux
mutexatomics:sid:amd64

00:02:08

passed #447654
amd64 linux
nolibtool:sid:amd64

00:02:16

passed #447650
amd64 linux
pkcs11:sid:amd64

00:01:34

passed #447646
amd64 linux
rwlock:sid:amd64

00:01:34

 
  Unit
passed #447668
amd64 linux
unit:asan:sid:amd64

00:04:07

passed #447672
amd64 freebsd
unit:clang:freebsd11.3:amd64

00:00:29

passed #447673
amd64 freebsd
unit:clang:freebsd12.0:amd64

00:01:10

passed #447670
amd64 linux
unit:clang:stretch:amd64

00:00:39

passed #447656
amd64 linux
unit:gcc:alpine3.10:amd64

00:02:36

passed #447667
amd64 linux
unit:gcc:bionic:amd64

00:00:49

passed #447662
amd64 linux
unit:gcc:buster:amd64

00:01:20

passed #447657
amd64 linux
unit:gcc:centos6:amd64

00:00:53

passed #447658
amd64 linux
unit:gcc:centos7:amd64

00:00:49

passed #447659
amd64 linux
unit:gcc:centos8:amd64

00:00:53

passed #447665
amd64 linux
unit:gcc:fedora30:amd64

00:01:27

passed #447660
amd64 linux
unit:gcc:jessie:amd64

00:00:28

passed #447663
amd64 linux
unit:gcc:sid:amd64

00:01:22

passed #447664
i386 linux
unit:gcc:sid:i386

00:01:49

passed #447661
amd64 linux
unit:gcc:stretch:amd64

00:00:57

passed #447666
amd64 linux
unit:gcc:xenial:amd64

00:00:41

passed #447674
amd64 linux
unit:nolibtool:sid:amd64

00:01:40

passed #447671
amd64 linux
unit:pkcs11:sid:amd64

00:01:22

passed #447669
amd64 linux
unit:rwlock:sid:amd64

00:01:06

 
  System
passed #447687
amd64 linux
system:asan:sid:amd64

00:10:07

passed #447780
freebsd amd64
system:clang:freebsd11.3:amd64

00:08:14

passed #447786
amd64 freebsd
system:clang:freebsd12.0:amd64

00:08:15

passed #447778
linux amd64
system:gcc:alpine3.10:amd64

00:08:39

passed #447686
amd64 linux
system:gcc:bionic:amd64

00:07:19

passed #447681
amd64 linux
system:gcc:buster:amd64

00:07:41

passed #447777
linux amd64
system:gcc:centos6:amd64

00:06:36

passed #447677
amd64 linux
system:gcc:centos7:amd64

00:08:10

passed #447775
linux amd64
system:gcc:centos8:amd64

00:06:37

passed #447774
linux amd64
system:gcc:fedora30:amd64

00:07:18

passed #447679
amd64 linux
system:gcc:jessie:amd64

00:07:32

passed #447682
amd64 linux
system:gcc:sid:amd64

00:08:28

passed #447683
i386 linux
system:gcc:sid:i386

00:08:56

passed #447776
linux amd64
system:gcc:stretch:amd64

00:06:36

passed #447685
amd64 linux
system:gcc:xenial:amd64

00:07:03

passed #447692
amd64 linux
system:nolibtool:sid:amd64

00:08:53

passed #447689
amd64 linux
system:pkcs11:sid:amd64

00:08:12

passed #447688
amd64 linux
system:rwlock:sid:amd64

00:08:49

failed #447690
amd64 freebsd
system:clang:freebsd11.3:amd64

00:08:25

failed #447785
freebsd amd64
system:clang:freebsd12.0:amd64

00:08:14

failed #447782
freebsd amd64
system:clang:freebsd12.0:amd64

00:08:10

failed #447781
amd64 freebsd
system:clang:freebsd12.0:amd64

00:08:04

failed #447779
freebsd amd64
system:clang:freebsd12.0:amd64

00:08:27

failed #447691
amd64 freebsd
system:clang:freebsd12.0:amd64

00:08:40

canceled #447784
amd64 freebsd
system:clang:freebsd12.0:amd64

00:00:01

failed #447675
amd64 linux
system:gcc:alpine3.10:amd64

00:09:22

failed #447676
amd64 linux
system:gcc:centos6:amd64

00:20:28

failed #447678
amd64 linux
system:gcc:centos8:amd64

00:08:47

failed #447684
amd64 linux
system:gcc:fedora30:amd64

00:08:45

failed #447680
amd64 linux
system:gcc:stretch:amd64

00:07:18

 
  Docs
passed #447693
amd64 linux
docs:sid:amd64

00:00:57

 
  Postcheck
passed #447695
amd64 linux
cppcheck:gcc:sid:amd64

00:01:35

passed #447694
amd64 linux
scan-build:buster:amd64

00:11:19