Module ExtractPthread.Action

type thread = {
  1. tid : thread_id;
  2. f : GoblintCil.Cil.varinfo;
    (*

    a function being called

    *)
}
type cond_wait = {
  1. cond_var_id : cond_var_id;
  2. mid : mutex_id;
}
type fun_call_id = string

uniquely identifies the function call ** created/defined by `fun_ctx` function

type t =
  1. | Call of fun_call_id
  2. | Assign of string * string
  3. | Cond of string
  4. | ThreadCreate of thread
  5. | ThreadJoin of thread_id
  6. | ThreadExit
  7. | MutexInit of mutex_id
  8. | MutexLock of mutex_id
  9. | MutexUnlock of mutex_id
  10. | CondVarInit of cond_var_id
  11. | CondVarBroadcast of cond_var_id
  12. | CondVarSignal of cond_var_id
  13. | CondVarWait of cond_wait
  14. | Nop

ADT of all possible edge actions types