Thread Synch AOSV 2020  1.2
LKM for exchanging messages between threads
Data Fields
group_data Struct Reference

Group device data structure. More...

#include <types.h>

Collaboration diagram for group_data:
Collaboration graph
[legend]

Data Fields

struct cdev cdev
 
struct device * dev
 Character Device definition

 
dev_t deviceID
 
int group_id
 
group_t descriptor
 Unique identifier of a group. Provided by IDR.
 
uid_t owner
 System-wide descriptor of a group.
 
struct rw_semaphore owner_lock
 
struct list_head active_members
 
atomic_t members_count
 
struct rw_semaphore member_lock
 
msg_manager_t * msg_manager
 
garbage_collector_t garbage_collector
 
wait_queue_head_t barrier_queue
 
group_sysfs_t group_sysfs
 
g_flags_t flags
 

Detailed Description

Group device data structure.

Contains all the private data of a group character device

Field Documentation

◆ active_members

struct list_head group_data::active_members

List of process that opened the group

◆ barrier_queue

wait_queue_head_t group_data::barrier_queue

Queue where processes which slept on a barrier are put

◆ flags

g_flags_t group_data::flags

Group's status flags

◆ garbage_collector

garbage_collector_t group_data::garbage_collector

Garbage collector instance

◆ group_sysfs

group_sysfs_t group_data::group_sysfs

Group's sysfs structure

◆ member_lock

struct rw_semaphore group_data::member_lock

Lock on the active members list

◆ members_count

atomic_t group_data::members_count

Number of process that opened the group

◆ msg_manager

msg_manager_t* group_data::msg_manager

Message manager subsytem


The documentation for this struct was generated from the following file: