iwyu: //aos/ipc_lib/...
The full include-list for aos/ipc_lib/index.h:
<stdint.h> // for uint32_t, UINTPTR_MAX, uint64_t
<atomic> // for atomic, memory_order_relaxed, memory_order_acq_rel, memory_order_acquire, memory_order_release
<limits> // for numeric_limits
<string> // for string
"aos/ipc_lib/shm_observers.h" // for RunShmObservers
"glog/logging.h" // for Check_LEImpl, CHECK_LE
namespace aos::ipc_lib::testing { class QueueIndexTest; } // lines 33-33
The full include-list for aos/ipc_lib/index.h:
<stdint.h> // for uint32_t, uint16_t
<atomic> // for atomic, memory_order_relaxed, memory_order_acq_rel, memory_order_acquire, memory_order_release
<limits> // for numeric_limits
<string> // for string
"aos/ipc_lib/shm_observers.h" // for RunShmObservers
"glog/logging.h" // for Check_LEImpl, CHECK_LE
namespace aos::ipc_lib::testing { class QueueIndexTest; } // lines 33-33
The full include-list for aos/ipc_lib/shared_mem.h:
<stddef.h> // for ptrdiff_t, size_t
"aos/ipc_lib/shared_mem_types.h" // for aos_shm_core
The full include-list for aos/ipc_lib/shared_mem.cc:
"aos/ipc_lib/shared_mem.h"
<fcntl.h> // for O_RDWR, O_CREAT, O_EXCL
<stdint.h> // for uint8_t
<sys/mman.h> // for shm_open, shm_unlink, mmap, munmap, MAP_FAILED, MAP_FIXED, MAP_LOCKED, MAP_POPULATE, MAP_SHARED, PROT_READ, PROT_WRITE
<unistd.h> // for close, ftruncate
<cassert> // for assert
<cerrno> // for EEXIST, errno
<cstdio> // for printf
<cstdlib> // for getenv
<cstring> // for memset
<ostream> // for operator<<, char_traits, basic_ostream, basic_ostream::operator<<, hex
"aos/ipc_lib/aos_sync.h" // for aos_mutex, futex_set, futex_wait
"glog/logging.h" // for ErrnoLogMessage, PCHECK, PLOG, LOG, COMPACT_GOOGLE_LOG_FATAL, COMPACT_GOOGLE_LOG_INFO, LogMessage, LogMessageFatal
The full include-list for aos/ipc_lib/lockless_queue.h:
<stdint.h> // for uint32_t
<atomic> // for atomic
<csignal> // for size_t, pid_t, SIGRTMIN, uid_t
<functional> // for function
<iosfwd> // for ostream
<optional> // for optional
<utility> // for swap
<vector> // for vector
"absl/types/span.h" // for Span
"aos/events/context.h" // for Context
"aos/ipc_lib/aos_sync.h" // for aos_mutex
"aos/ipc_lib/data_alignment.h" // for kChannelDataRedzone, kChannelDataAlignment, RoundChannelData
"aos/ipc_lib/index.h" // for AtomicIndex, AtomicQueueIndex, QueueIndex
"aos/ipc_lib/robust_ownership_tracker.h" // for RobustOwnershipTracker, ThreadOwnerStatusSnapshot
"aos/time/time.h" // for monotonic_clock, realtime_clock
"aos/uuid.h" // for UUID
"glog/logging.h" // for Check_LTImpl, GetReferenceableValue, Check_GTImpl, DCHECK_LT, DCHECK_GT
namespace aos::ipc_lib { struct LocklessQueueMemory; } // lines 192-192
The full include-list for aos/ipc_lib/lockless_queue_test.cc:
"aos/ipc_lib/lockless_queue.h"
<sched.h> // for cpu_set_t, CPU_CLR, CPU_ISSET, CPU_SETSIZE
<stdio.h> // for snprintf, printf, fprintf, stderr
<string.h> // for memset
<sys/signalfd.h> // for signalfd_siginfo
<algorithm> // for max
<chrono> // for duration, operator+, duration_cast, operator-, operator<=>, time_point, milliseconds, operator/, nanoseconds, seconds, chrono
<cinttypes> // for uint64_t, uint32_t, PRIu64
<compare> // for operator<, operator>, strong_ordering
<csignal> // for size_t, SIGRTMAX, SIGRTMIN
<new> // for operator new
<ostream> // for char_traits, basic_ostream, basic_ostream::operator<<, operator<<
<random> // for bernoulli_distribution, uniform_int_distribution, mt19937
<ratio> // for ratio
<thread> // for thread
<type_traits> // for aligned_storage
"aos/events/epoll.h" // for EPoll
"aos/ipc_lib/event.h" // for Event
"aos/ipc_lib/lockless_queue_memory.h" // for LocklessQueueMemory
"aos/ipc_lib/lockless_queue_stepping.h" // for SharedTid, TestShmRobustness, SUPPORTS_SHM_ROBUSTNESS_TEST
"aos/ipc_lib/queue_racer.h" // for QueueRacer
"aos/ipc_lib/signalfd.h" // for SignalFd
"aos/realtime.h" // for SetCurrentThreadAffinity, GetCurrentThreadAffinity, UnsetCurrentThreadRealtimePriority
"aos/util/phased_loop.h" // for PhasedLoop
"gflags/gflags.h" // for DEFINE_int32
"gtest/gtest.h" // for Message, TestInfo, TestPartResult, AssertionResult, TEST_F, EXPECT_EQ, ASSERT_EQ, CmpHelperGE, CmpHelperGT, CmpHelperLE, EXPECT_FALSE, EXPECT_NO_FATAL_FAILURE, EXPECT_GE, EXPECT_GT, EXPECT_LE, EXPECT_TRUE, Test
The full include-list for aos/ipc_lib/core_lib.h:
<stddef.h> // for size_t
<stdint.h> // for uint8_t
The full include-list for aos/ipc_lib/core_lib.c:
"aos/ipc_lib/core_lib.h"
<assert.h> // for assert
<stdio.h> // for fprintf, printf, NULL, size_t, stderr
<stdlib.h> // for abort
"aos/ipc_lib/aos_sync.h" // for mutex_grab, mutex_unlock
"aos/ipc_lib/shared_mem_types.h" // for aos_core, global_core, aos_shm_core
The full include-list for aos/ipc_lib/event_test.cc:
"aos/ipc_lib/event.h"
<chrono> // for duration, operator-, milliseconds, time_point, chrono
<memory> // for allocator
<thread> // for sleep_for, thread, this_thread
"aos/testing/test_logging.h" // for EnableTestLogging
"aos/time/time.h" // for monotonic_clock
"gtest/gtest.h" // for AssertionResult, Message, TestPartResult, TestInfo, CmpHelperGE, EXPECT_FALSE, TEST_F, EXPECT_GE, EXPECT_TRUE, EXPECT_EQ, Test
The full include-list for aos/ipc_lib/aos_sync.h:
<stddef.h> // for ptrdiff_t
<stdint.h> // for uint32_t, uintptr_t
The full include-list for aos/ipc_lib/aos_sync.cc:
"aos/ipc_lib/aos_sync.h"
<linux/futex.h> // for FUTEX_OWNER_DIED, FUTEX_TID_MASK, robust_list_head, FUTEX_CMP_REQUEUE_PI, FUTEX_LOCK_PI, FUTEX_TRYLOCK_PI, FUTEX_UNLOCK_PI, FUTEX_WAIT, FUTEX_WAIT_REQUEUE_PI, FUTEX_WAKE
<pthread.h> // for pthread_atfork
<signal.h> // for pid_t
<stdio.h> // for printf
<sys/syscall.h> // for SYS_futex, SYS_gettid, SYS_set_robust_list
<unistd.h> // for syscall, ssize_t
<cassert> // for assert
<cerrno> // for errno, EINTR, ETIMEDOUT, EAGAIN, EWOULDBLOCK, EDEADLK
<cinttypes> // for PRId32
<climits> // for INT_MAX
<ostream> // for operator<<, char_traits, basic_ostream, basic_ostream::operator<<
"absl/base/call_once.h" // for call_once, once_flag
"aos/ipc_lib/shm_observers.h" // for RunShmObservers
"aos/macros.h" // for DISALLOW_COPY_AND_ASSIGN
"aos/util/compiler_memory_barrier.h" // for aos_compiler_memory_barrier
"glog/logging.h" // for ErrnoLogMessage, PLOG, COMPACT_GOOGLE_LOG_FATAL, LogMessageFatal, LOG, PCHECK, CHECK, CHECK_NE
The full include-list for aos/ipc_lib/lockless_queue_stepping.h:
<stdlib.h> // for abort
<unistd.h> // for write, STDERR_FILENO, size_t, pid_t
<cinttypes> // for uintptr_t
<functional> // for function
<tuple> // for tuple
"aos/ipc_lib/lockless_queue.h" // for LocklessQueueConfiguration
The full include-list for aos/ipc_lib/lockless_queue_stepping.cc:
"aos/ipc_lib/lockless_queue_stepping.h"
<assert.h> // for assert
<elf.h> // for NT_PRSTATUS
<errno.h> // for errno, EINTR
<signal.h> // for sigaction, SIGTRAP, SIGSEGV, sa_handler, kill, SA_SIGINFO, SIG_DFL, sa_sigaction, SA_NODEFER, SA_RESTART, SIG_IGN
<string.h> // for memcpy, memset
<sys/mman.h> // for mmap, PROT_READ, PROT_WRITE, MAP_ANONYMOUS, MAP_FAILED, MAP_SHARED, size_t, mprotect, munmap
<sys/procfs.h> // for elf_gregset_t
<sys/ptrace.h> // for ptrace, __ptrace_request, PTRACE_GETREGSET, PTRACE_SETREGSET
<sys/syscall.h> // for SYS_gettid
<sys/uio.h> // for iovec
<sys/wait.h> // for siginfo_t, waitpid, si_addr
<unistd.h> // for pid_t, _exit, fork, syscall
<atomic> // for atomic, memory_order_relaxed
<new> // for operator new
<optional> // for optional, nullopt
<ostream> // for operator<<, basic_ostream, basic_ostream::operator<<, hex
<string> // for char_traits, allocator, operator+, to_string
<thread> // for thread
<utility> // for make_pair
"aos/ipc_lib/aos_sync.h" // for SetRobustListOffset
"aos/ipc_lib/shm_observers.h" // for SetShmAccessorObservers
"aos/libc/aos_strsignal.h" // for aos_strsignal
"aos/testing/prevent_exit.h" // for PreventExit
"glog/logging.h" // for GetReferenceableValue, Check_NEImpl, ErrnoLogMessage, PCHECK, Check_EQImpl, CHECK_EQ, CHECK_NE, COMPACT_GOOGLE_LOG_FATAL, LOG, LogMessageFatal, CHECK, COMPACT_GOOGLE_LOG_INFO, LogMessage
"gtest/gtest.h" // for Message, TestPartResult, AssertionResult, FAIL, ADD_FAILURE, Test, ASSERT_TRUE, SCOPED_TRACE
The full include-list for aos/ipc_lib/index.h:
<stdint.h> // for uint32_t, UINTPTR_MAX, uint64_t
<atomic> // for atomic, memory_order_relaxed, memory_order_acq_rel, memory_order_acquire, memory_order_release
<limits> // for numeric_limits
<string> // for string
"aos/ipc_lib/shm_observers.h" // for RunShmObservers
"glog/logging.h" // for Check_LEImpl, CHECK_LE
namespace aos::ipc_lib::testing { class QueueIndexTest; } // lines 33-33
The full include-list for aos/ipc_lib/index_test.cc:
"aos/ipc_lib/index.h"
<ostream> // for operator<<, basic_ostream, hex
"glog/logging.h" // for COMPACT_GOOGLE_LOG_INFO, LOG, LogMessage
"gtest/gtest.h" // for Message, TestPartResult, Test, AssertionResult, EXPECT_EQ, TestInfo, EXPECT_TRUE, TEST, TEST_F, EXPECT_FALSE
The full include-list for aos/ipc_lib/print_lockless_queue_memory.cc:
<fcntl.h> // for open, O_CLOEXEC, O_RDWR
<sys/mman.h> // for mmap, munmap, MAP_FAILED, MAP_SHARED, PROT_READ, PROT_WRITE, size_t
<sys/stat.h> // for lstat, stat
<unistd.h> // for close, NULL
<ostream> // for char_traits, operator<<, basic_ostream
"aos/ipc_lib/lockless_queue.h" // for PrintLocklessQueueMemory, LocklessQueueMemory
"glog/logging.h" // for ErrnoLogMessage, PCHECK, Check_NEImpl, CHECK_EQ, CHECK_NE
The full include-list for aos/ipc_lib/eventfd_latency.cc:
<inttypes.h> // for PRId64, int64_t
<string.h> // for memcpy
<sys/eventfd.h> // for eventfd, EFD_CLOEXEC, EFD_NONBLOCK
<unistd.h> // for write, close, read
<algorithm> // for max
<chrono> // for nanoseconds, operator<=>, operator+, duration, operator-, operator/, operator==, microseconds, seconds, chrono, milliseconds, time_point
<compare> // for operator>, strong_ordering
<random> // for uniform_int_distribution, mt19937
<ratio> // for ratio
<thread> // for thread, sleep_for
"aos/events/epoll.h" // for EPoll
"aos/ipc_lib/latency_lib.h" // for Tracing, TimerThread
"aos/logging/implementations.h" // for INFO, AOS_LOG
"aos/realtime.h" // for MakeCpusetFromCpus, SetCurrentThreadAffinity, SetCurrentThreadRealtimePriority, UnsetCurrentThreadRealtimePriority
"aos/time/time.h" // for monotonic_clock, sleep_until
"gflags/gflags.h" // for DEFINE_int32, ParseCommandLineFlags, DEFINE_bool
"glog/logging.h" // for ErrnoLogMessage, PCHECK, CHECK_EQ
The full include-list for aos/ipc_lib/signal_stress.cc:
<inttypes.h> // for int64_t, uint32_t, PRId64, uint64_t
<sys/signalfd.h> // for signalfd_siginfo, signalfd, SFD_CLOEXEC, SFD_NONBLOCK
<unistd.h> // for close, getpid, read, NULL
<algorithm> // for max
<chrono> // for operator<=>, operator+, nanoseconds, duration, operator/, microseconds, seconds, chrono
<compare> // for operator>, strong_ordering
<csignal> // for sigaddset, sigemptyset, sigqueue, sigval, pthread_sigmask, SIGRTMIN, sigset_t, SIG_BLOCK
<random> // for uniform_int_distribution, mt19937
<ratio> // for ratio
<thread> // for thread
"aos/events/epoll.h" // for EPoll
"aos/ipc_lib/latency_lib.h" // for Tracing, TimerThread
"aos/logging/implementations.h" // for INFO, AOS_LOG
"aos/realtime.h" // for MakeCpusetFromCpus, SetCurrentThreadAffinity, SetCurrentThreadRealtimePriority, UnsetCurrentThreadRealtimePriority
"aos/time/time.h" // for monotonic_clock, sleep_until
"gflags/gflags.h" // for DEFINE_int32, ParseCommandLineFlags, DEFINE_bool
"glog/logging.h" // for ErrnoLogMessage, PCHECK, CHECK_EQ
The full include-list for aos/ipc_lib/event.cc:
"aos/ipc_lib/event.h"
<time.h> // for timespec
<chrono> // for duration_cast, operator-, nanoseconds, seconds, duration
<ostream> // for char_traits, operator<<, basic_ostream
<ratio> // for ratio
"aos/type_traits/type_traits.h" // for shm_ok
"glog/logging.h" // for ErrnoLogMessage, PLOG, CHECK_EQ
The full include-list for aos/ipc_lib/named_pipe_latency.cc:
<fcntl.h> // for open, O_NOATIME, O_NONBLOCK, FD_CLOEXEC, O_CLOEXEC, O_RDONLY, O_WRONLY
<inttypes.h> // for PRId64, int64_t
<string.h> // for memcpy, memset
<sys/stat.h> // for mkfifo
<unistd.h> // for close, write, read
<algorithm> // for max
<chrono> // for duration, operator<=>, operator+, nanoseconds, operator-, operator/, operator==, microseconds, seconds, chrono, time_point
<compare> // for operator>, strong_ordering
<random> // for uniform_int_distribution, mt19937
<ratio> // for ratio
<thread> // for thread
"aos/events/epoll.h" // for EPoll
"aos/ipc_lib/latency_lib.h" // for Tracing, TimerThread
"aos/logging/implementations.h" // for INFO, AOS_LOG
"aos/realtime.h" // for MakeCpusetFromCpus, SetCurrentThreadAffinity, SetCurrentThreadRealtimePriority, UnsetCurrentThreadRealtimePriority
"aos/time/time.h" // for monotonic_clock, sleep_until
"gflags/gflags.h" // for DEFINE_int32, ParseCommandLineFlags, DEFINE_bool, DEFINE_string
"glog/logging.h" // for ErrnoLogMessage, PCHECK, CHECK_EQ
The full include-list for aos/ipc_lib/robust_ownership_tracker.h:
<assert.h> // for assert
<linux/futex.h> // for FUTEX_OWNER_DIED, FUTEX_TID_MASK
<stdint.h> // for uint64_t
<sys/syscall.h> // for SYS_gettid
<unistd.h> // for pid_t, syscall
<atomic> // for atomic, __atomic_base
<limits> // for numeric_limits
<optional> // for optional
<ostream> // for operator<<, basic_ostream::operator<<, basic_ostream
<string> // for char_traits, string
"aos/ipc_lib/aos_sync.h" // for aos_mutex, death_notification_init, death_notification_is_held, death_notification_release, aos_futex
"aos/util/top.h" // for ProcStat, ReadProcStat
"glog/logging.h" // for Check_NEImpl, COMPACT_GOOGLE_LOG_ERROR, LOG, LogMessage, CHECK_NE
namespace aos::ipc_lib::testing { class RobustOwnershipTrackerTest; } // lines 14-14
The full include-list for aos/ipc_lib/robust_ownership_tracker_test.cc:
"aos/ipc_lib/robust_ownership_tracker.h"
<errno.h> // for EINTR, errno
<stdlib.h> // for exit, WEXITSTATUS, WIFEXITED
<sys/mman.h> // for mmap, munmap, MAP_ANONYMOUS, MAP_FAILED, MAP_SHARED, PROT_READ, PROT_WRITE
<sys/wait.h> // for waitpid, pid_t
"gtest/gtest.h" // for AssertionResult, Message, TestPartResult, EXPECT_FALSE, TestInfo, CmpHelperNE, EXPECT_TRUE, TEST_F, EXPECT_NE, Test
The full include-list for aos/ipc_lib/memory_mapped_queue.h:
<stddef.h> // for size_t
<stdint.h> // for uint32_t
<string> // for string
<string_view> // for string_view
"absl/types/span.h" // for Span
"aos/configuration.h" // for Channel, Configuration
"aos/ipc_lib/lockless_queue.h" // for LocklessQueueConfiguration, LocklessQueueMemory, LocklessQueue
The full include-list for aos/ipc_lib/memory_mapped_queue.cc:
"aos/ipc_lib/memory_mapped_queue.h"
<errno.h> // for EEXIST, errno
<fcntl.h> // for open, O_CLOEXEC, O_RDWR, O_CREAT, O_EXCL
<sys/mman.h> // for size_t, mmap, munmap, MAP_FAILED, MAP_SHARED, PROT_READ, PROT_WRITE
<sys/stat.h> // for fstat, stat
<unistd.h> // for close, ftruncate, sysconf, NULL, _SC_PAGESIZE
<chrono> // for duration, milliseconds
<limits> // for numeric_limits
<ostream> // for operator<<, basic_ostream, basic_ostream::operator<<
<thread> // for sleep_for
"absl/strings/str_cat.h" // for StrCat
"aos/ipc_lib/index.h" // for QueueIndex
"aos/util/file.h" // for MkdirP
"flatbuffers/string.h" // for String
"glog/logging.h" // for ErrnoLogMessage, PCHECK, Check_EQImpl, COMPACT_GOOGLE_LOG_INFO, Check_LTImpl, LogMessage, VLOG, CHECK, CHECK_EQ, COMPACT_GOOGLE_LOG_FATAL, LogMessageFatal, CHECK_LT
The full include-list for aos/ipc_lib/lockless_queue.h:
<stdint.h> // for uint32_t
<atomic> // for atomic
<csignal> // for size_t, pid_t, SIGRTMIN, uid_t
<functional> // for function
<iosfwd> // for ostream
<optional> // for optional
<utility> // for swap
<vector> // for vector
"absl/types/span.h" // for Span
"aos/events/context.h" // for Context
"aos/ipc_lib/aos_sync.h" // for aos_mutex
"aos/ipc_lib/data_alignment.h" // for kChannelDataRedzone, kChannelDataAlignment, RoundChannelData
"aos/ipc_lib/index.h" // for AtomicIndex, AtomicQueueIndex, QueueIndex
"aos/ipc_lib/robust_ownership_tracker.h" // for RobustOwnershipTracker, ThreadOwnerStatusSnapshot
"aos/time/time.h" // for monotonic_clock, realtime_clock
"aos/uuid.h" // for UUID
"glog/logging.h" // for Check_LTImpl, GetReferenceableValue, Check_GTImpl, DCHECK_LT, DCHECK_GT
namespace aos::ipc_lib { struct LocklessQueueMemory; } // lines 192-192
The full include-list for aos/ipc_lib/lockless_queue.cc:
"aos/ipc_lib/lockless_queue.h"
<linux/futex.h> // for FUTEX_OWNER_DIED, FUTEX_TID_MASK
<pwd.h> // for getpwuid, passwd
<sched.h> // for sched_setscheduler, sched_param, SCHED_FIFO, sched_priority
<string.h> // for memcpy, memcmp, memset
<sys/syscall.h> // for SYS_rt_tgsigqueueinfo
<sys/types.h> // for pid_t, uid_t
<unistd.h> // for getpid, getresuid, getuid, syscall
<algorithm> // for max, sort
<chrono> // for duration, operator<=>, operator-, time_point
<compare> // for operator<, strong_ordering
<iomanip> // for operator<<, setfill
<iostream> // for operator<<, basic_ostream, char_traits, endl, cout, hex, basic_ostream::operator<<, dec, ostream, stringstream
<string> // for operator<<, string
<string_view> // for string_view
"absl/strings/escaping.h" // for BytesToHexString
"aos/ipc_lib/lockless_queue_memory.h" // for LocklessQueueMemory
"aos/util/compiler_memory_barrier.h" // for aos_compiler_memory_barrier
"gflags/gflags.h" // for DECLARE_bool, DEFINE_bool
"glog/logging.h" // for COMPACT_GOOGLE_LOG_INFO, LogMessage, VLOG, COMPACT_GOOGLE_LOG_FATAL, LogMessageFatal, Check_EQImpl, Check_LEImpl, CHECK, DCHECK, CHECK_EQ, CHECK_LE, Check_NEImpl, ErrnoLogMessage, PCHECK, CHECK_NE, LOG
The full include-list for aos/ipc_lib/futex_latency.cc:
<inttypes.h> // for uint32_t, PRId64, int64_t
<signal.h> // for SIGRTMIN
<algorithm> // for max
<chrono> // for duration, operator<=>, operator+, nanoseconds, operator-, operator/, operator==, microseconds, seconds, chrono, time_point
<compare> // for operator>, strong_ordering
<random> // for uniform_int_distribution, mt19937
<ratio> // for ratio
<thread> // for thread
"aos/condition.h" // for Condition
"aos/ipc_lib/latency_lib.h" // for TimerThread, Tracing
"aos/logging/implementations.h" // for INFO, AOS_LOG
"aos/mutex/mutex.h" // for MutexLocker, Mutex
"aos/realtime.h" // for MakeCpusetFromCpus, SetCurrentThreadAffinity, SetCurrentThreadRealtimePriority, UnsetCurrentThreadRealtimePriority
"aos/time/time.h" // for monotonic_clock, sleep_until
"gflags/gflags.h" // for DEFINE_int32, ParseCommandLineFlags, DEFINE_bool
"glog/logging.h" // for CHECK, COMPACT_GOOGLE_LOG_FATAL, LogMessageFatal
The full include-list for aos/ipc_lib/queue_racer.h:
<stdint.h> // for uint32_t, uint64_t
<atomic> // for atomic
<chrono> // for nanoseconds
<cstring> // for size_t, memset
<functional> // for function
<vector> // for vector
"aos/ipc_lib/index.h" // for QueueIndex
"aos/ipc_lib/lockless_queue.h" // for LocklessQueue, LocklessQueueSender, LocklessQueueMemorySize, LocklessQueueReader
"aos/time/time.h" // for monotonic_clock, realtime_clock
"aos/uuid.h" // for UUID
namespace aos::ipc_lib { struct ThreadState; } // lines 10-10
The full include-list for aos/ipc_lib/queue_racer.cc:
"aos/ipc_lib/queue_racer.h"
<stdio.h> // for fprintf, stderr
<algorithm> // for find
<cinttypes> // for uint64_t, uint32_t, uint8_t, PRIu64
<cstring> // for memcpy, memset, size_t
<limits> // for numeric_limits
<optional> // for optional
<ostream> // for char_traits, operator<<, basic_ostream
<thread> // for thread
"absl/types/span.h" // for Span
"aos/events/context.h" // for Context
"aos/ipc_lib/event.h" // for Event
"glog/logging.h" // for Check_GEImpl, CHECK, COMPACT_GOOGLE_LOG_FATAL, LogMessageFatal, CHECK_GE
"gtest/gtest.h" // for Message, TestPartResult, ASSERT_EQ, CmpHelperGE, AssertionResult, CmpHelperGT, CmpHelperLE, CmpHelperNE, EXPECT_GE, EXPECT_EQ, ASSERT_GT, ASSERT_LE, ASSERT_TRUE, EXPECT_NE
The full include-list for aos/ipc_lib/signalfd.h:
<signal.h> // for sigset_t
<sys/signalfd.h> // for signalfd_siginfo
<initializer_list> // for initializer_list
The full include-list for aos/ipc_lib/signalfd.cc:
"aos/ipc_lib/signalfd.h"
<string.h> // for memcmp
<sys/types.h> // for size_t
<unistd.h> // for close, read
<csignal> // for sigset_t, pthread_sigmask, sigaddset, sigandset, sigdelset, sigemptyset, sigismember, SIG_BLOCK, SIG_UNBLOCK, _NSIG
<initializer_list> // for initializer_list
<ostream> // for operator<<
"glog/logging.h" // for CHECK_EQ, Check_NEImpl, ErrnoLogMessage, PCHECK, CHECK_NE, COMPACT_GOOGLE_LOG_FATAL, LOG, LogMessageFatal
The full include-list for aos/ipc_lib/ipc_comparison.cc:
<arpa/inet.h> // for htonl
<errno.h> // for ENOENT, errno
<fcntl.h> // for fcntl, open, O_CREAT, O_EXCL, O_NONBLOCK, O_RDWR, F_GETFL, F_SETFL, O_RDONLY, O_WRONLY
<inttypes.h> // for PRId32
<mqueue.h> // for mq_close, mq_receive, mq_send, size_t, mq_attr, mqd_t, mq_open, mq_unlink, ssize_t
<netinet/in.h> // for sockaddr_in, INADDR_LOOPBACK, IPPROTO_TCP, in_addr
<netinet/tcp.h> // for TCP_NODELAY
<pthread.h> // for pthread_cond_broadcast, pthread_cond_destroy, pthread_cond_init, pthread_cond_wait, pthread_condattr_destroy, pthread_condattr_init, pthread_condattr_setpshared, pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock, pthread_mutexattr_destroy, pthread_mutexattr_init, pthread_mutexattr_setprotocol, pthread_mutexattr_setpshared, PTHREAD_PROCESS_SHARED, PTHREAD_PRIO_INHERIT, pthread_cond_t, pthread_condattr_t, pthread_mutex_t, pthread_mutexattr_t
<semaphore.h> // for sem_t, sem_close, sem_destroy, sem_init, sem_open, sem_post, sem_unlink, sem_wait, SEM_FAILED
<stdio.h> // for fprintf, stderr
<string.h> // for memcpy, memset
<sys/eventfd.h> // for eventfd
<sys/ipc.h> // for IPC_PRIVATE
<sys/msg.h> // for msgget, msgrcv, msgsnd
<sys/sem.h> // for sembuf, semop, semget
<sys/socket.h> // for socket, AF_INET, bind, connect, getsockname, setsockopt, sockaddr, socketpair, SOCK_DGRAM, SOCK_STREAM, accept, listen, AF_UNIX, SOCK_SEQPACKET
<sys/stat.h> // for mkfifo, S_IRUSR, S_IWUSR
<unistd.h> // for close, pipe, read, write, unlink
<atomic> // for atomic
<chrono> // for operator-, operator/, operator<=>, chrono, milliseconds, nanoseconds, seconds
<compare> // for operator>=, strong_ordering
<cstdint> // for uint8_t, uint64_t, int32_t
<memory> // for unique_ptr, allocator
<string> // for operator==, char_traits, basic_string, operator+, string
<thread> // for sleep_for, thread
<utility> // for move
"aos/condition.h" // for Condition
"aos/init.h" // for InitGoogle
"aos/ipc_lib/event.h" // for Event
"aos/logging/implementations.h" // for AOS_PCHECK, AOS_PRCHECK, FATAL, AOS_PLOG, INFO, LogImplCheck_EQ, LogImplCheck_LE, AOS_LOG, AOS_CHECK, AOS_CHECK_EQ, AOS_CHECK_LE
"aos/mutex/mutex.h" // for Mutex
"aos/realtime.h" // for MakeCpusetFromCpus, SetCurrentThreadAffinity, SetCurrentThreadRealtimePriority
"aos/time/time.h" // for monotonic_clock, DurationInSeconds
"gflags/gflags.h" // for DEFINE_int32, SetUsageMessage, ShowUsageWithFlags, DEFINE_string
The full include-list for aos/ipc_lib/shm_base.h:
<string_view> // for string_view
"gflags/gflags.h" // for DECLARE_string
The full include-list for aos/ipc_lib/shm_base.cc:
"aos/ipc_lib/shm_base.h"
<string> // for operator+, string
The full include-list for aos/ipc_lib/index.h:
<stdint.h> // for uint32_t, uint16_t
<atomic> // for atomic, memory_order_relaxed, memory_order_acq_rel, memory_order_acquire, memory_order_release
<limits> // for numeric_limits
<string> // for string
"aos/ipc_lib/shm_observers.h" // for RunShmObservers
"glog/logging.h" // for Check_LEImpl, CHECK_LE
namespace aos::ipc_lib::testing { class QueueIndexTest; } // lines 33-33
The full include-list for aos/ipc_lib/index_test.cc:
"aos/ipc_lib/index.h"
<ostream> // for operator<<, basic_ostream, hex
"glog/logging.h" // for COMPACT_GOOGLE_LOG_INFO, LOG, LogMessage
"gtest/gtest.h" // for Message, TestPartResult, Test, AssertionResult, EXPECT_EQ, TestInfo, EXPECT_TRUE, TEST, TEST_F, EXPECT_FALSE
The full include-list for aos/ipc_lib/signalfd.h:
<signal.h> // for sigset_t
<sys/signalfd.h> // for signalfd_siginfo
<initializer_list> // for initializer_list
The full include-list for aos/ipc_lib/signalfd_test.cc:
"aos/ipc_lib/signalfd.h"
<memory> // for allocator
<thread> // for thread
"aos/testing/test_logging.h" // for EnableTestLogging
"glog/logging.h" // for ErrnoLogMessage, PCHECK, CHECK_EQ
"gtest/gtest.h" // for Test, AssertionResult, TestInfo, Message, TestPartResult, TEST, ASSERT_FALSE, ASSERT_TRUE, DeathTest, EXPECT_DEATH
The full include-list for aos/ipc_lib/robust_ownership_tracker.h:
<assert.h> // for assert
<linux/futex.h> // for FUTEX_OWNER_DIED, FUTEX_TID_MASK
<stdint.h> // for uint64_t
<sys/syscall.h> // for SYS_gettid
<unistd.h> // for pid_t, syscall
<atomic> // for atomic, __atomic_base
<limits> // for numeric_limits
<optional> // for optional
<ostream> // for operator<<, basic_ostream::operator<<, basic_ostream
<string> // for char_traits, string
"aos/ipc_lib/aos_sync.h" // for aos_mutex, death_notification_init, death_notification_is_held, death_notification_release, aos_futex
"aos/util/top.h" // for ProcStat, ReadProcStat
"glog/logging.h" // for Check_NEImpl, COMPACT_GOOGLE_LOG_ERROR, LOG, LogMessage, CHECK_NE
namespace aos::ipc_lib::testing { class RobustOwnershipTrackerTest; } // lines 14-14
The full include-list for aos/ipc_lib/robust_ownership_tracker.cc:
"aos/ipc_lib/robust_ownership_tracker.h"
The full include-list for aos/ipc_lib/latency_lib.h:
<fcntl.h> // for open, O_CLOEXEC, O_TRUNC, O_WRONLY
<string.h> // for strlen
<unistd.h> // for write, close
"aos/time/time.h" // for monotonic_clock
"glog/logging.h" // for ErrnoLogMessage, PCHECK
The full include-list for aos/ipc_lib/latency_lib.cc:
"aos/ipc_lib/latency_lib.h"
<algorithm> // for max
<chrono> // for operator<=>, nanoseconds, operator+, operator-, chrono, microseconds
<compare> // for operator>, strong_ordering
<random> // for uniform_int_distribution, mt19937
"aos/logging/logging.h" // for INFO, AOS_LOG
"aos/realtime.h" // for SetCurrentThreadRealtimePriority
"aos/time/time.h" // for monotonic_clock, sleep_until
The full include-list for aos/ipc_lib/lockless_queue_death_test.cc:
<stdio.h> // for snprintf
<sys/mman.h> // for size_t
<chrono> // for chrono, milliseconds
<cinttypes> // for uint32_t
<functional> // for reference_wrapper, function, ref
<memory> // for allocator
<optional> // for optional
<ostream> // for char_traits, operator<<, basic_ostream, basic_ostream::operator<<
"aos/events/context.h" // for Context
"aos/ipc_lib/index.h" // for AtomicQueueIndex, Index, QueueIndex
"aos/ipc_lib/lockless_queue.h" // for LocklessQueueSender, LocklessQueueConfiguration, LocklessQueueMessageDataSize, LocklessQueueReader, PrintLocklessQueueMemory, LocklessQueuePinner, LocklessQueue, Message, PretendThatOwnerIsDeadForTesting, Sender
"aos/ipc_lib/lockless_queue_memory.h" // for LocklessQueueMemory
"aos/ipc_lib/lockless_queue_stepping.h" // for SharedTid, TestShmRobustness, SUPPORTS_SHM_ROBUSTNESS_TEST
"aos/ipc_lib/robust_ownership_tracker.h" // for RobustOwnershipTracker
"aos/testing/test_logging.h" // for EnableTestLogging
"aos/time/time.h" // for monotonic_clock, realtime_clock
"aos/uuid.h" // for UUID
"glog/logging.h" // for COMPACT_GOOGLE_LOG_INFO, LOG, LogMessage, CHECK, CHECK_EQ, COMPACT_GOOGLE_LOG_FATAL, LogMessageFatal
"gtest/gtest.h" // for Test, Message, TestPartResult, CmpHelperGT, ASSERT_EQ, EXPECT_EQ, TestInfo, EXPECT_GT, TEST
The full include-list for aos/ipc_lib/lockless_queue_memory.h:
<stdint.h> // for uint32_t
<sys/types.h> // for uid_t
<cstddef> // for size_t, max_align_t
"aos/ipc_lib/aos_sync.h" // for aos_mutex
"aos/ipc_lib/index.h" // for AtomicIndex, Index, QueueIndex, AtomicQueueIndex
"aos/ipc_lib/lockless_queue.h" // for LocklessQueueConfiguration, Pinner, Sender, Watcher, Message
Signed-off-by: Stephan Pleines <pleines.stephan@gmail.com>
Change-Id: I6e96143ec7c640f95bf7bf8966d9a15d685e89a3
diff --git a/aos/ipc_lib/lockless_queue.h b/aos/ipc_lib/lockless_queue.h
index 462b2b6..ce067e6 100644
--- a/aos/ipc_lib/lockless_queue.h
+++ b/aos/ipc_lib/lockless_queue.h
@@ -1,14 +1,18 @@
#ifndef AOS_IPC_LIB_LOCKLESS_QUEUE_H_
#define AOS_IPC_LIB_LOCKLESS_QUEUE_H_
-#include <sys/signalfd.h>
-#include <sys/types.h>
+#include <signal.h>
+#include <stdint.h>
-#include <csignal>
+#include <atomic>
+#include <functional>
+#include <iosfwd>
#include <optional>
+#include <utility>
#include <vector>
#include "absl/types/span.h"
+#include "glog/logging.h"
#include "aos/events/context.h"
#include "aos/ipc_lib/aos_sync.h"