Update git submodules
authorRoss Brattain <ross.b.brattain@intel.com>
Sun, 1 Oct 2017 20:28:24 +0000 (20:28 +0000)
committerGerrit Code Review <gerrit@opnfv.org>
Sun, 1 Oct 2017 20:28:24 +0000 (20:28 +0000)
commit5b69372f9bf6a601d904cbf880ceb11ef09741b7
tree55b811d68c3841a33b7f5fd79dc2da60beac9368
parent0d2adaacda887657dbfaaa1c4908cd82d3b49a32
Update git submodules

* Update docs/submodules/yardstick from branch 'master'
  - Merge "NSB: cancel all queue join threads"
  - NSB: cancel all queue join threads

    In some cases we are blocking in base.Runner join() because the
    queues are not empty

    call cancel_join_thread to prevent the Queue from blocking the
    Process exit

    https://docs.python.org/3.3/library/multiprocessing.html#all-platforms

    Joining processes that use queues

      Bear in mind that a process that has put items in a queue will wait
      before terminating until all the buffered items are fed by the
      "feeder" thread to the underlying pipe. (The child process can call
      the cancel_join_thread() method of the queue to avoid this behaviour.)

      This means that whenever you use a queue you need to make sure that
      all items which have been put on the queue will eventually be removed
      before the process is joined. Otherwise you cannot be sure that
      processes which have put items on the queue will terminate. Remember
      also that non-daemonic processes will be joined automatically.

    Warning

      As mentioned above, if a child process has put items on a queue (and
      it has not used JoinableQueue.cancel_join_thread), then that process
      will not terminate until all buffered items have been flushed to the
      pipe.

      This means that if you try joining that process you may get a deadlock
      unless you are sure that all items which have been put on the queue
      have been consumed. Similarly, if the child process is non-daemonic
      then the parent process may hang on exit when it tries to join all its
      non-daemonic children.

    cancel_join_thread()

      Prevent join_thread() from blocking. In particular, this prevents the
      background thread from being joined automatically when the process
      exits – see join_thread().

      A better name for this method might be allow_exit_without_flush(). It
      is likely to cause enqueued data to lost, and you almost certainly
      will not need to use it. It is really only there if you need the
      current process to exit immediately without waiting to flush enqueued
      data to the underlying pipe, and you don’t care about lost data.

    Change-Id: I61f11a3b01109d96b7a5445c60f1e171401157fc
Signed-off-by: Ross Brattain <ross.b.brattain@intel.com>
docs/submodules/yardstick