update stop function
(use volatile)