ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/hd/rhdisp.c
(Generate patch)

Comparing ray/src/hd/rhdisp.c (file contents):
Revision 3.32 by gwlarson, Wed Aug 26 13:06:09 1998 UTC vs.
Revision 3.35 by gwlarson, Wed Nov 11 16:58:51 1998 UTC

# Line 109 | Line 109 | char   *argv[];
109                          if (inp & DFL(DC_QUIT))
110                                  serv_request(DR_SHUTDOWN, 0, NULL);
111                  }
112 <                if (rdy & RDY_SIN)              /* user input from sstdin */
112 >                if (rdy & RDY_SIN && !imm_mode) /* user input from sstdin */
113                          switch (usr_input()) {
114                          case DC_PAUSE:
115                                  pause = 1;
# Line 289 | Line 289 | again:
289                          }
290                          copystruct(v, viewhist + ((nhist-1)%VIEWHISTLEN));
291                          goto again;
292 <                }
293 <        beam_sync(0);           /* update server */
292 >                }      
293 >                                /* update server */
294 >        imm_mode = beam_sync(0) > 0;
295                                  /* record new view */
296          if (v < viewhist || v >= viewhist+VIEWHISTLEN) {
297                  copystruct(viewhist + (nhist%VIEWHISTLEN), v);
# Line 421 | Line 422 | serv_result()                  /* get next server result and process
422          case DS_STARTIMM:
423          case DS_ENDIMM:
424   #ifdef DEBUG
425 <                if (imm_mode != (msg.type==DS_STARTIMM)) {
425 >                {
426                          time_t  tnow = time(NULL);
427 <                        if (imm_mode) timm += tnow - tmodesw;
428 <                        else tadd += tnow - tmodesw;
427 >                        if (msg.type==DS_STARTIMM) tadd += tnow - tmodesw;
428 >                        else timm += tnow - tmodesw;
429                          tmodesw = tnow;
430                  }
431   #endif
432 <                imm_mode = msg.type==DS_STARTIMM;
432 >                if (!(imm_mode = msg.type==DS_STARTIMM))
433 >                        dev_flush();
434                  goto noargs;
435          case DS_ACKNOW:
436          case DS_SHUTDOWN:
# Line 457 | Line 459 | char   *p;
459   {
460          MSGHEAD msg;
461          int     m;
462 +                                /* consistency checks */
463 + #ifdef DEBUG
464 +        if (nbytes < 0 || nbytes > 0 & p == NULL)
465 +                error(CONSISTENCY, "bad buffer handed to serv_request");
466 + #endif
467                                  /* get server's attention for big request */
468          if (nbytes >= BIGREQSIZ-sizeof(MSGHEAD)) {
469                  serv_request(DR_ATTEN, 0, NULL);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines