# Send "stop" to running loops

**URL:** <https://in-thread.sonic-pi.net/t/send-stop-to-running-loops/9042>\
**Category:** Support, Help & Resources\
**Created:** [July 16, 2024, 11:06am UTC](https://in-thread.sonic-pi.net/t/send-stop-to-running-loops/9042 "2024-07-16T11:06:17Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![brendanmac](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/brendanmac/32/2809_2.png) [@brendanmac](https://in-thread.sonic-pi.net/u/brendanmac)\
**Post date:** [July 16, 2024, 11:06am UTC](https://in-thread.sonic-pi.net/t/send-stop-to-running-loops/9042/1 "2024-07-16T11:06:17Z")

</div>

Hi chums,  
I’m trying to send a stop message to a running loop - for various reasons I cannot use the more obvious n.times do-end method. The following is wrong and doesn’t work, but illustrates my pseudo-code wishes: after a certain time, stop a running loop.

```ruby
live_loop :play do
  play 55, release: 0.5
  sleep 0.5
end

live_loop :cease, delay: 8 do
  cue :play, stop
end

```

Thanks  
PD-Pi

---

<div class="post-metadata">

**Author:** ![Davids-Music-Lab](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/davids-music-lab/32/512_2.png) [@Davids-Music-Lab](https://in-thread.sonic-pi.net/u/Davids-Music-Lab)\
**Post date:** [July 16, 2024, 8:04pm UTC](https://in-thread.sonic-pi.net/t/send-stop-to-running-loops/9042/2 "2024-07-16T20:04:11Z")

</div>

```ruby
live_loop :play do
  stop if get :stop_flag
  play 55, release: 0.5
  sleep 0.5
end

at 8 do
  set :stop_flag, true
end

```

---

<div class="post-metadata">

**Author:** ![brendanmac](https://dub1.discourse-cdn.com/flex017/user_avatar/in-thread.sonic-pi.net/brendanmac/32/2809_2.png) [@brendanmac](https://in-thread.sonic-pi.net/u/brendanmac)\
**Post date:** [July 17, 2024, 4:46am UTC](https://in-thread.sonic-pi.net/t/send-stop-to-running-loops/9042/3 "2024-07-17T04:46:14Z")

</div>

Perfect, thanks

PD-Pi
