Thread Synch AOSV 2020
1.2
LKM for exchanging messages between threads
|
Group device data structure. More...
#include <types.h>
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 |
Group device data structure.
Contains all the private data of a group character device
struct list_head group_data::active_members |
List of process that opened the group
wait_queue_head_t group_data::barrier_queue |
Queue where processes which slept on a barrier are put
g_flags_t group_data::flags |
Group's status flags
garbage_collector_t group_data::garbage_collector |
Garbage collector instance
group_sysfs_t group_data::group_sysfs |
Group's sysfs structure
struct rw_semaphore group_data::member_lock |
Lock on the active members list
atomic_t group_data::members_count |
Number of process that opened the group
msg_manager_t* group_data::msg_manager |
Message manager subsytem