To Apply, try "patch < xdvi.c.patch" in the directory with the xdvi sources.
Works for xdvi version 1.7.

*** xdvi.c	Tue Jun 29 15:37:17 1993
--- xdvi.c	Wed Aug 17 14:21:08 1994
***************
*** 2033,2038 ****
--- 2033,2046 ----
  	windowrec->max_x = windowrec->max_y = 0;
  }
  
+ static void
+ handle_sigusr1() {
+ 	--dvi_time;	/* then it will notice a change */
+ 	canit = True;
+ 	redraw(&mane);   /* Send an event to wake xdvi up */
+       (void) signal(SIGUSR1, handle_sigusr1);
+ }
+ 
  #ifdef	HAS_SIGIO
  static	void
  handle_intr() {
***************
*** 2072,2077 ****
--- 2080,2086 ----
  #ifdef	HAS_SIGIO
  	    enable_intr();
  #endif
+             (void) signal(SIGUSR1, handle_sigusr1);
  #ifdef	__convex__
  	    /* convex C turns off optimization for the entire function
  	       if setjmp return value is discarded.*/