genode/repos/base/include/base
Norman Feske be0a1742ac base: distinct TRACED from ATTACHED trace subjects
This patch makes the trace-subject state as reflected to the trace
monitor more accurate.

Until now, a subject could be in UNTRACED or TRACED state. In reality,
however, there exists an intermediate state after the trace monitor
called 'trace' for the subject but before the subject locally activated
the tracing (done when passing a trace point). This intermediate state
was reflected as UNTRACED. Consequently, threads that never pass a trace
point (e.g., just waiting for I/O) would remain to appear as UNTRACED
even after enabling its tracing by the trace monitor. This is confusing.

This patch replaces the former UNTRACED and TRACED states by three
distinct states:

  UNATTACHED  prior any call of 'trace'
  ATTACHED    after a trace monitor called 'trace'
              but before the tracing is active
  TRACE       tracing is active

Fixes #4447
2022-04-13 08:07:58 +02:00
..
trace base: distinct TRACED from ATTACHED trace subjects 2022-04-13 08:07:58 +02:00
affinity.h base: tighten affinity handling 2021-12-17 15:06:38 +01:00
allocator_avl.h allocator_avl: use Attempt for size_at 2022-02-15 10:16:51 +01:00
allocator.h base: introduce Allocator::try_alloc 2021-11-29 15:11:52 +01:00
attached_dataspace.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
attached_io_mem_dataspace.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
attached_ram_dataspace.h base/cache.h: rename Cache_attribute to Cache 2021-04-20 12:10:31 +02:00
attached_rom_dataspace.h Never throw in 'Attached_rom_dataspace::size' 2020-02-04 15:51:10 +01:00
blockade.h doc: tweaks for updated Genode Foundations book 2020-05-27 11:56:46 +02:00
blocking.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
buffered_output.h base/buffered_output.h: flush at destruction time 2020-02-20 12:08:16 +01:00
cache.h base/cache.h: rename Cache_attribute to Cache 2021-04-20 12:10:31 +02:00
capability.h Cleanup Call_return encapsulation in call() 2017-05-02 15:28:52 +02:00
child.h base: tighten affinity handling 2021-12-17 15:06:38 +01:00
component.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
connection.h Remove Allocator_guard 2020-05-18 10:16:12 +02:00
console.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
debug.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
duration.h timeout: use uint64_t for all plain time values 2019-05-06 16:15:26 +02:00
entrypoint.h base: use Mutex/Blockade 2020-04-17 12:40:12 +02:00
env.h Remove 'Env::reinit' and 'Env::reinit_main_thread' 2022-02-15 10:17:28 +01:00
exception.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
heap.h base: introduce Allocator::try_alloc 2021-11-29 15:11:52 +01:00
id_space.h base: use Mutex/Blockade 2020-04-17 12:40:12 +02:00
ipc_msgbuf.h base: avoid implicit conversions 2021-12-17 15:04:44 +01:00
ipc.h base: avoid implicit conversions 2021-12-17 15:04:44 +01:00
local_connection.h Propagate session diag flag to core 2020-12-09 14:02:11 +01:00
lock_guard.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
lock.h base: remove Cancelable_lock 2020-07-30 08:49:23 +02:00
log.h base/log.h: add GENODE_TRACE_TSC 2022-04-13 08:07:57 +02:00
mutex.h base: remove Cancelable_lock 2020-07-30 08:49:23 +02:00
native_capability.h core: avoid null pointer reference warning 2019-01-07 12:25:44 +01:00
object_pool.h base: use Mutex/Blockade 2020-04-17 12:40:12 +02:00
output.h base: avoid implicit conversions 2021-12-17 15:04:44 +01:00
quota_guard.h base: introduce Ram_allocator::try_alloc 2021-11-29 15:10:53 +01:00
quota_transfer.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
ram_allocator.h base: introduce Ram_allocator::try_alloc 2021-11-29 15:10:53 +01:00
registry.h base/registry.h: remove misleading comment 2020-04-17 12:40:13 +02:00
rpc_args.h base: explicit copy constructor for Rpc_in_buffer 2020-11-23 12:02:58 +01:00
rpc_client.h base: introduce Ram_allocator::try_alloc 2021-11-29 15:10:53 +01:00
rpc_server.h base: Silence unused arg warning in rpc_server.h 2020-11-27 09:19:08 +01:00
rpc.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
semaphore.h base: use Mutex/Blockade 2020-04-17 12:40:12 +02:00
service.h base: introduce Env::try_session 2021-10-14 11:02:12 +02:00
session_label.h base: avoid implicit conversions 2021-12-17 15:04:44 +01:00
session_object.h Follow practices suggested by "Effective C++" 2018-01-17 12:14:35 +01:00
session_state.h Propagate session diag flag to core 2020-12-09 14:02:11 +01:00
shared_object.h ldso: Dynamic_linker::respawn mechanism 2019-08-28 14:18:45 +02:00
signal.h base: support process-local signal submission 2020-11-23 12:02:53 +01:00
slab.h base: introduce Allocator::try_alloc 2021-11-29 15:11:52 +01:00
sleep.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
snprintf.h base: avoid implicit conversions 2021-12-17 15:04:44 +01:00
stdint.h Adjust file headers to refer to the AGPLv3 2017-02-28 12:59:29 +01:00
synced_allocator.h base: introduce Allocator::try_alloc 2021-11-29 15:11:52 +01:00
synced_interface.h base: use Mutex/Blockade 2020-04-17 12:40:12 +02:00
thread_state.h base/os: remove deprecated APIs 2019-02-26 14:44:15 +01:00
thread.h Remove 'Env::reinit' and 'Env::reinit_main_thread' 2022-02-15 10:17:28 +01:00
tslab.h base: construct 'Tslab' with allocator reference 2017-05-31 13:16:03 +02:00
weak_ptr.h base: use Mutex/Blockade 2020-04-17 12:40:12 +02:00