--- ray/src/hd/rhdisp.c 1998/12/20 20:39:31 3.38 +++ ray/src/hd/rhdisp.c 1999/03/08 17:31:49 3.41 @@ -1,4 +1,4 @@ -/* Copyright (c) 1998 Silicon Graphics, Inc. */ +/* Copyright (c) 1999 Silicon Graphics, Inc. */ #ifndef lint static char SCCSid[] = "$SunId$ SGI"; @@ -40,7 +40,6 @@ char *progname; /* global argv[0] */ FILE *sstdin, *sstdout; /* server's standard input and output */ #ifdef DEBUG -#include extern time_t time(); static time_t tmodesw; static time_t timm, tadd; @@ -155,6 +154,8 @@ disp_wait() /* wait for more input */ int n; register int i; /* see if we can avoid select call */ + if (hdlist[0] == NULL) + return(RDY_SRV); /* initialize first */ flgs = 0; /* flag what's ready already */ if (imm_mode || stdin->_cnt > 0) flgs |= RDY_SRV; @@ -269,7 +270,8 @@ register VIEW *v; static VIEW viewhist[VIEWHISTLEN]; static unsigned nhist; VIEW *dv; - int i, res[2], *slist; + int i, res[2]; + int2 *slist; char *err; /* restore previous view? */ if (v == NULL) { @@ -502,6 +504,8 @@ serv_result() /* get next server result and process break; case DS_STARTIMM: case DS_ENDIMM: + if (!(imm_mode = msg.type==DS_STARTIMM)) + dev_flush(); #ifdef DEBUG { time_t tnow = time(NULL); @@ -510,8 +514,6 @@ serv_result() /* get next server result and process tmodesw = tnow; } #endif - if (!(imm_mode = msg.type==DS_STARTIMM)) - dev_flush(); goto noargs; case DS_ACKNOW: case DS_SHUTDOWN: