Michael Knyszek from the Go team joins us to talk about what happens when a program ends. How are file handles cleaned up? When are deferred functions run, and when are they skipped entirely? Is there a way to terminate all running goroutines? Tune in to learn the answers to these questions and more!

Michael Knyszek from the Go team joins us to talk about what happens when a program ends. How are file handles cleaned up? When are deferred functions run, and when are they skipped entirely? Is there a way to terminate all running goroutines? Tune in to learn the answers to these questions and more!

Leave us a comment

Changelog++ members save 4 minutes on this episode because they made the ads disappear. Join today!

Sponsors:



Teleport – Quickly access any resource anywhere using a Unified Access Plane that consolidates access controls and auditing across all environments - infrastructure, applications, and data. Try Teleport today in the cloud, self-hosted, or open source at goteleport.com
LaunchDarkly – Test in production! Deploy code at any time, even if a feature isn’t ready to be released to your users. Wrap code in feature flags to get the safety to test new features and infrastructure in prod without impacting the wrong end users.
Equinix Metal – Globally interconnected fully automated bare metal. Equinix Metal gives you hardware at your fingertips with physical infrastructure at software speed. This is the promise of the cloud delivered on Bare Metal. Get $500 in free credit to play with plus a rad t-shirt at info.equinixmetal.com/changelog.

Featuring:


Michael Knyszek – Twitter, GitHub, WebsiteMat Ryer – Twitter, GitHub, LinkedIn, WebsiteJon Calhoun – Twitter, GitHub, Website

Show Notes:



Make Ctrl+C Cancel the context.Context - An article by Mat Ryer discussing how to capture ctrl+c and cancel a context.
NotifyContext proposal - Our very own Mark Bates made the proposal for NotifyContext!
NotifyContext - docs for the NotifyContext functionality added in Go
12 Factor
Graceful shutdown in Go http server - an article discussing grateful shutdowns with Go HTTP servers.
kill linux man page - kill is a linux command mentioned on the show
os/signal - docs for the os/signal package in Go.

Something missing or broken? PRs welcome!

Twitter Mentions