Ich kann zwar kein c, aber dass while(1) eine Bedingung ist die immer zutrifft gilt vermutlich in jeder Sprache.
D.h. du hast da eine Endloschleife gebaut und in der Schleife gibt es nirgendwo einen Befehl der das Programm veranlassen könnte diese Schleife wieder zu verlassen.