|
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
1.8.17