Uploaded image for project: 'Mesos'
  1. Mesos
  2. MESOS-3882

Libprocess: Implement process::Clock::finalize

    XMLWordPrintableJSON

Details

    • Task
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 0.27.0
    • libprocess, test

    Description

      Tracks this TODO.

      The Clock is initialized with a callback that, among other things, will dereference the global process_manager object.

      When libprocess is shutting down, the process_manager is cleaned up. Between cleanup and termination of libprocess, there is some chance that a Timer will time out and result in dereferencing process_manager.

      Proposal

      • Implement Clock::finalize. This would clear:
        • existing timers
        • process-specific clocks
        • ticks
      • Change process::finalize.
        1. Resume the clock. (The clock is only paused during some tests.) When the clock is not paused, the callback does not dereference process_manager.
        2. Clean up process_manager. This terminates all the processes that would potentially interact with Clock.
        3. Call Clock::finalize.

      Attachments

        Activity

          People

            kaysoky Joseph Wu
            kaysoky Joseph Wu
            Joris Van Remoortere Joris Van Remoortere
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: