Patch title: Release 90 bulk changes
Abstract:
File: /fullpliant/init.c
Key:
    Removed line
    Added line
   
// This is the 'init' script for the FullPliant system.
//
// Copyright  Hubert Tonneau  hubert.tonneau@pliant.cx
//
// This program is free software; you can redistribute it an
// modify it under the terms of the GNU General Public Licen
// as published by the Free Software Foundation.
// 
// This program is distributed in the hope that it will be u
// but WITHOUT ANY WARRANTY; without even the implied warran
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
// GNU General Public License for more details.
// 
// You should have received a copy of the GNU General Public
// version 2 along with this program; if not, write to the F
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA


char *args1[]={"/bin/pliant","module","/pliant/install/minim
// This is the 'init' script for the FullPliant system.
//
// Copyright  Hubert Tonneau  hubert.tonneau@pliant.cx
//
// This program is free software; you can redistribute it an
// modify it under the terms of the GNU General Public Licen
// as published by the Free Software Foundation.
// 
// This program is distributed in the hope that it will be u
// but WITHOUT ANY WARRANTY; without even the implied warran
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See
// GNU General Public License for more details.
// 
// You should have received a copy of the GNU General Public
// version 2 along with this program; if not, write to the F
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA


char *args1[]={"/bin/pliant","module","/pliant/install/minim
char *args2[]={"/bin/pliant","precompile /binary/default.dum
char *args2[]={"/bin/pliant","module","/pliant/install/minimal.pli","module","/pliant/fullpliant/run.pli",null};
// char *args2[]={"/bin/pliant","precompile /binary/default.dump module /pliant/install/precompile.pli","module","/pliant/fullpliant/run.pli",null};


void startup() {
  int pid; int lap=0;
  struct timespec ts;
  while(true) {
    pid=clone(0,null);
    if(pid>0) {
      while(waitpid(-1,null,0x40000000)!=pid);
    } else if(pid==0) {
      if(lap==0) {
        write(1,"\nLauching FullPliant boot script.\n",34);
        execve(args1[0],args1,env);
      } else {
        write(1,"\nLauching FullPliant run script.\n",33);
        execve(args2[0],args2,env); }
      write(1,"failed.\n",8);
      return; }
    ts.tv_sec=0;
    ts.tv_nsec=100000000;
    nanosleep(&ts,&ts);
    lap=lap+1; } }


void startup() {
  int pid; int lap=0;
  struct timespec ts;
  while(true) {
    pid=clone(0,null);
    if(pid>0) {
      while(waitpid(-1,null,0x40000000)!=pid);
    } else if(pid==0) {
      if(lap==0) {
        write(1,"\nLauching FullPliant boot script.\n",34);
        execve(args1[0],args1,env);
      } else {
        write(1,"\nLauching FullPliant run script.\n",33);
        execve(args2[0],args2,env); }
      write(1,"failed.\n",8);
      return; }
    ts.tv_sec=0;
    ts.tv_nsec=100000000;
    nanosleep(&ts,&ts);
    lap=lap+1; } }