[MINOR] add a new back-reference type : struct bref
This type will be used to maintain back-references to items which are subject to move between accesses. Typical usage includes session removal during a listing.
This commit is contained in:
parent
0a46489228
commit
bc04ce7cd9
@ -19,6 +19,20 @@ struct list {
|
||||
struct list *p; /* prev */
|
||||
};
|
||||
|
||||
/* a back-ref is a pointer to a target list entry. It is used to detect when an
|
||||
* element being deleted is currently being tracked by another user. The best
|
||||
* example is a user dumping the session table. The table does not fit in the
|
||||
* output buffer so we have to set a mark on a session and go on later. But if
|
||||
* that marked session gets deleted, we don't want the user's pointer to go in
|
||||
* the wild. So we can simply link this user's request to the list of this
|
||||
* session's users, and put a pointer to the list element in ref, that will be
|
||||
* used as the mark for next iteration.
|
||||
*/
|
||||
struct bref {
|
||||
struct list users;
|
||||
struct list *ref; /* pointer to the target's list entry */
|
||||
};
|
||||
|
||||
/* First undefine some macros which happen to also be defined on OpenBSD,
|
||||
* in sys/queue.h, used by sys/event.h
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user