The Pedigree Project
0.1
src
system
include
pedigree
kernel
process
DeferredScope.h
1
/*
2
* Copyright (c) 2026, Pedigree Developers
3
*
4
* Permission to use, copy, modify, and distribute this software for any
5
* purpose with or without fee is hereby granted.
6
*/
7
8
#ifndef PEDIGREE_KERNEL_PROCESS_DEFERREDSCOPE_H
9
#define PEDIGREE_KERNEL_PROCESS_DEFERREDSCOPE_H
10
#include "pedigree/kernel/processor/types.h"
11
12
#include <config.h>
13
21
struct
DeferredScopeRecord
{
22
using
Cleanup = void (*)(
void
*);
23
24
DeferredScopeRecord
()
25
: next(
nullptr
),
26
stateLevel(0),
27
sequence(0),
28
defersTermination(
false
),
29
defersEvents(
false
),
30
cleanup(
nullptr
),
31
context(
nullptr
),
32
armed(
false
) {}
33
34
DeferredScopeRecord
* next;
35
size_t
stateLevel;
36
size_t
sequence;
37
bool
defersTermination;
38
bool
defersEvents;
39
Cleanup cleanup;
40
void
* context;
41
bool
armed;
42
43
private
:
44
friend
class
TerminationDeferral
;
45
friend
class
SyscallManager
;
46
struct
Uninitialised
{};
47
// Fresh registration fills every field before publishing the record.
48
explicit
DeferredScopeRecord
(
Uninitialised
) {}
49
};
50
51
#endif
SyscallManager
Definition
include/pedigree/kernel/processor/SyscallManager.h:41
TerminationDeferral
Definition
TerminationDeferral.h:27
DeferredScopeRecord::Uninitialised
Definition
DeferredScope.h:46
DeferredScopeRecord
Definition
DeferredScope.h:21
Generated on Sat Oct 3 2026 06:38:07 for The Pedigree Project by
1.9.8