incubator-nuttx/include
hujun5 b6693065e7 pthread_once: g_lock may lead deadlock
For programs with the dependencies logic in pthread_once callback , using global locks may cause deadlock:

task A
pthread_once()
|
|-> nxrmutex_lock(&g_lock);
 -> init_routine(); // callback to wait task B
                                                  task B
                                                  pthread_once()
                                                  |
                                                   ->nxrmutex_lock(&g_lock); // Deadlock
                                                   ->init_routine(); // hold resource to wake up task A

Signed-off-by: hujun5 <hujun5@xiaomi.com>
2023-09-26 10:13:00 +08:00
..
android
arpa
crypto
cxx
net
netinet
netpacket
nuttx
ssp
sys
.gitignore
aio.h
alloca.h
assert.h
byteswap.h
ctype.h
debug.h
dirent.h
dlfcn.h
dsp.h
dspb16.h
elf.h
elf32.h
elf64.h
endian.h
err.h
errno.h
execinfo.h
fcntl.h
fixedmath.h
fnmatch.h
ftw.h
getopt.h
glob.h
grp.h
hex2bin.h
iconv.h
ifaddrs.h
inttypes.h
iso646.h
langinfo.h
libgen.h
libintl.h
limits.h
locale.h
lzf.h
malloc.h
mqueue.h
netdb.h
nl_types.h
nxflat.h
obstack.h
poll.h
pthread.h
pty.h
pwd.h
regex.h
resolv.h
sched.h
semaphore.h
signal.h
spawn.h
stdbool.h
stddef.h
stdint.h
stdio.h
stdlib.h
stdnoreturn.h
string.h
strings.h
syscall.h
syslog.h
termios.h
threads.h
time.h
unistd.h
utime.h
uuid.h
wchar.h
wctype.h