Structs

Las estructuras que creamos y las estructuras que modificamos.

struct thread
  {
    /* Owned by thread.c. */
    tid_t tid;                          /* Thread identifier. */
    enum thread_status status;          /* Thread state. */
    char name[16];                      /* Name (for debugging purposes). */
    uint8_t *stack;                     /* Saved stack pointer. */
    int priority;                 /* Priority. */
    int nice;
    struct list_elem allelem;     /* List element for all threads list. */

    /* Shared between thread.c and synch.c. */
    struct list_elem elem;              /* List element. */
    int64_t time_sleeping;              /* Tiempo que duerme un thread*/

    /* Synchonization variables */
    struct lock *waiting; 
    struct thread *lock_holder;
    struct list locks; 
    struct list donations; 
    int original_priority;
}

Se agrego time_sleeping que es el tiempo que un thread va a dormir. Donations es una lista con las donaciones que un thread recibe, waiting es el lock que un thread esta esperando, lock_holder es el thread que tiene el lock que el thread está esperando y original_priority es la prioridad original que tiene el thread.

Last updated