)]}'
{"oslo_service/threadgroup.py":[{"author":{"_account_id":4257,"name":"Zane Bitter","email":"zbitter@redhat.com","username":"zaneb"},"change_message_id":"7f0be785e434b1d67bce7aa6bb6bb94bb8761733","unresolved":false,"context_lines":[{"line_number":125,"context_line":"            lambda x: x.stop(),"},{"line_number":126,"context_line":"            lambda x: LOG.exception(\u0027Error stopping thread.\u0027))"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"    def stop_timers(self, graceful\u003dFalse):"},{"line_number":129,"context_line":"        for timer in self.timers:"},{"line_number":130,"context_line":"            timer.stop()"},{"line_number":131,"context_line":"        if graceful:"}],"source_content_type":"text/x-python","patch_set":3,"id":"5f7c97a3_7484f85e","line":128,"updated":"2018-05-08 13:47:20.000000000","message":"The parameter naming is potentially confusing by analogy with stop().\n\nstop(graceful\u003dFalse) kills running threads\nstop_timers(graceful\u003dFalse) prevents the timers from starting new threads, but doesn\u0027t kill the running ones.\n\nstop(graceful\u003dTrue) waits for running threads to complete\nstop_timers(graceful\u003dTrue) prevents the timers from starting new threads, and waits for the running ones to complete.\n\nSo it\u0027s consistent when graceful\u003dTrue and not when graceful\u003dFalse.\n\nMaybe name the parameter \u0027wait\u0027 instead of \u0027graceful\u0027?","commit_id":"3de9793a3fd4474ce38a6aa95404564708485768"}]}
