Very interesting. I'm not used to looking at Go code from the perspective of an implementer of Go.
Somebody should contribute a comment about this upstream :) On Thu, Jun 15, 2017 at 10:34 AM Ian Lance Taylor <i...@golang.org> wrote: > On Thu, Jun 15, 2017 at 10:28 AM, Tyler Compton <xavi...@gmail.com> wrote: > > Why not just panic, though? And why the infinite loop, I wonder? > > The runtime is a special case in many ways, and this is among the more > special parts. This loop exists to catch problems while testing new > ports. If that loop is ever reached, something has gone badly wrong: > the exit call should have caused the program to exit. We can't assume > that panic is working. We can't really assume that anything is > working. What we want to do is stop the program. Since exit failed, > it's possible that a nil dereference will succeed. If that fails too, > we still have to do something, so we just loop. We can't return > because this is the main function that started the program; there is > nothing to return to. > > Ian > > > On Thu, Jun 15, 2017 at 9:56 AM Aldrin Leal <ald...@leal.eng.br> wrote: > >> > >> Force a panic in case exit fails? > >> > >> -- > >> -- Aldrin Leal, <ald...@leal.eng.br> / http://about.me/aldrinleal > >> > >> On Thu, Jun 15, 2017 at 4:54 AM, <goodwin.law...@gmail.com> wrote: > >>> > >>> Hey, > >>> > >>> Learning golang at the moment and came across this at the end of func > >>> main() in proc.go in the golang source tree. > >>> > >>> exit(0) > >>> for { > >>> var x *int32 > >>> *x = 0 > >>> } > >>> > >>> Ln 198 - 202 https://golang.org/src/runtime/proc.go > >>> > >>> How is the for loop ever reached and what's the purpose of the infinite > >>> loop, zeroing memory? > >>> > >>> Thanks, > >>> > >>> Goodwin > >>> > >>> -- > >>> You received this message because you are subscribed to the Google > Groups > >>> "golang-nuts" group. > >>> To unsubscribe from this group and stop receiving emails from it, send > an > >>> email to golang-nuts+unsubscr...@googlegroups.com. > >>> For more options, visit https://groups.google.com/d/optout. > >> > >> > >> -- > >> You received this message because you are subscribed to the Google > Groups > >> "golang-nuts" group. > >> To unsubscribe from this group and stop receiving emails from it, send > an > >> email to golang-nuts+unsubscr...@googlegroups.com. > >> For more options, visit https://groups.google.com/d/optout. > > > > -- > > Tyler Compton > > Software Engineering > > > > -- > > You received this message because you are subscribed to the Google Groups > > "golang-nuts" group. > > To unsubscribe from this group and stop receiving emails from it, send an > > email to golang-nuts+unsubscr...@googlegroups.com. > > For more options, visit https://groups.google.com/d/optout. > -- Tyler Compton Software Engineering -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.