Ignore:
Timestamp:
Oct 10, 2020, 4:50:41 PM (4 years ago)
Author:
alain
Message:

Introduce the ksocket.h & ksocket.c files in kernel/kern.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kernel/kern/chdev.h

    r657 r662  
    110110
    111111/******************************************************************************************
    112  * This structure defines a chdev descriptor.
     112 * This structure defines a chdev (channel device) descriptor.
    113113 * This structure is NOT replicated, and can be located in any cluster.
    114  * One kernel thread, in charge of handling the commands registered in the waiting queue
    115  * of client threads is associated to each chdev descriptor (not for ICU, PIC, IOB).
     114 * One server thread is in charge of handling the commands registered in the queue
     115 * of clients associated to each chdev descriptor.
     116 *
    116117 * For each device type ***, the specific extension is defined in the "dev_***.h" file.
    117118 *
    118119 * NOTE . For most chdevs, the busylock is used to protect the waiting queue changes,
    119  *        when a thread register in this queue, or is removed after service.
     120 *        when a client registers in this queue, or is removed after service.
    120121 *      . This busylock is also used to protect direct access to the shared
    121122 *        kernel TXT0 terminal, that does not use the waiting queue.
    122  *      . For the NIC chdevs it is also used to protect registration (or removal) of a
    123  *        socket in the list of attached sockets rooted in NIC device extension.
     123 *      . For mostd chdevs, the client waiting queue is an xlist of threads, but it is
     124 *        a list of sockets for the NIC chdevs. It is unused for ICU, PIC, and IOB.
    124125 *****************************************************************************************/
    125126
     
    142143    uint32_t             irq_id;      /*! associated IRQ index in local ICU              */
    143144
    144         xlist_entry_t        wait_root;   /*! root of client threads waiting queue           */
     145        xlist_entry_t        wait_root;   /*! root of clients waiting queue                  */
    145146    remote_busylock_t    wait_lock;   /*! lock protecting waiting queue                  */
     147    uint32_t             wait_nr;     /*! number of registered clients (NIC only)        */
    146148
    147149    union
Note: See TracChangeset for help on using the changeset viewer.