GT States

Reference documentation

How the different GT processes respond to RC requests


  • Establish Partition
    • Listens on the Null partition
    • Needs to be first on a partition, sets up the message handlers
    • Can then go to Load Run Configuration or Detach Partition
  • Load Run Configuration
    • Needs to be Established
    • Takes a config file string from RC and assigns it to a partition it it's a file which can be opened
    • Can take more Load commands to replace the file string, go to Configure Run, or Detach Partition
  • Configure Run
    • Needs to have been Loaded
    • spawns a NovaGlobalTrigger process which does the real work, pointing at the Loaded configuration file
    • If something happens to drop things back to an earlier state, it will kill the NovaGlobalTrigger
    • Should also listen to SIGCHLD so if NovaGlobalTrigger dies on its own it can drop back in state
  • Detach Partition
    • Simply unwinds state back to the start, doing what needs to be done along the way


  • starts Configured, waits for a Begin Run
  • Begin Run
    • Resets trigger number to zero, enters Running
  • Running
    • lets the triggers roll
    • can be Paused or Ended
  • Paused
    • trigger threads wait on a mutex
    • can be Resumed or Ended
  • End Run
    • back to Configured and not Running
    • How to get out? Wait for a kill from NGTMaster, which happens if the state drops back below Configured
  • Rollover run
    • reset the trigger count, keep on trucking