--- ray/src/hd/rholo4.c 1997/11/26 20:14:43 3.8 +++ ray/src/hd/rholo4.c 1997/12/01 16:35:35 3.10 @@ -73,8 +73,10 @@ int block; /* read message header */ n = read(dpd[0], (char *)&msg, sizeof(MSGHEAD)); if (n != sizeof(MSGHEAD)) { - if (n >= 0) + if (n >= 0) { + dpout = NULL; error(USER, "display process died"); + } if (errno != EAGAIN & errno != EINTR) goto readerr; return(2); /* acceptable failure */ @@ -109,6 +111,14 @@ int block; bundle_set(BS_ADD, (PACKHEAD *)buf, msg.nbytes/sizeof(PACKHEAD)); disp_result(DS_ENDIMM, 0, NULL); disp_check(0); /* hack -- delete usu. follows add */ + break; + case DR_ADJSET: + if (msg.nbytes % sizeof(PACKHEAD)) + error(INTERNAL, "bad DR_ADJSET from display process"); + disp_result(DS_STARTIMM, 0, NULL); + bundle_set(BS_ADJ, (PACKHEAD *)buf, msg.nbytes/sizeof(PACKHEAD)); + disp_result(DS_ENDIMM, 0, NULL); + disp_flush(); break; case DR_DELSET: if (msg.nbytes % sizeof(PACKHEAD))