The R Project SVN R

Rev

Rev 44133 | Rev 52106 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 44133 Rev 52104
Line 629... Line 629...
629
            ctxt->inrptr = ctxt->in + d_inrptr;
629
            ctxt->inrptr = ctxt->in + d_inrptr;
630
	}
630
	}
631
 
631
 
632
	while(1) {
632
	while(1) {
633
	    int maxfd = 0, howmany;
633
	    int maxfd = 0, howmany;
-
 
634
	    R_ProcessEvents();
634
#ifdef Unix
635
#ifdef Unix
635
	    InputHandler *what;
-
 
636
 
-
 
637
	    if(R_wait_usec > 0) {
636
	    if(R_wait_usec > 0) {
638
		R_PolledEvents();
-
 
639
		tv.tv_sec = 0;
637
		tv.tv_sec = 0;
640
		tv.tv_usec = R_wait_usec;
638
		tv.tv_usec = R_wait_usec;
641
	    } else {
639
	    } else {
642
		tv.tv_sec = timeout;
640
		tv.tv_sec = timeout;
643
		tv.tv_usec = 0;
641
		tv.tv_usec = 0;
644
	    }
642
	    }
645
#elif defined(Win32)
643
#elif defined(Win32)
646
	    tv.tv_sec = 0;
644
	    tv.tv_sec = 0;
647
	    tv.tv_usec = 2e5;
645
	    tv.tv_usec = 2e5;
648
	    R_ProcessEvents();
-
 
649
#else
646
#else
650
	    tv.tv_sec = timeout;
647
	    tv.tv_sec = timeout;
651
	    tv.tv_usec = 0;
648
	    tv.tv_usec = 0;
652
#endif
649
#endif
653
 
650
 
Line 675... Line 672...
675
	    }
672
	    }
676
 
673
 
677
#ifdef Unix
674
#ifdef Unix
678
	    if(!FD_ISSET(ctxt->fd, &rfd) || howmany > 1) {
675
	    if(!FD_ISSET(ctxt->fd, &rfd) || howmany > 1) {
679
		/* was one of the extras */
676
		/* was one of the extras */
-
 
677
		InputHandler *what;
680
		what = getSelectedHandler(R_InputHandlers, &rfd);
678
		what = getSelectedHandler(R_InputHandlers, &rfd);
681
		if(what != NULL) what->handler((void*) NULL);
679
		if(what != NULL) what->handler((void*) NULL);
682
		continue;
680
		continue;
683
	    }
681
	    }
684
#endif
682
#endif
Line 990... Line 988...
990
	}
988
	}
991
    }
989
    }
992
 
990
 
993
    while(1) {
991
    while(1) {
994
	int maxfd = 0;
992
	int maxfd = 0;
-
 
993
	R_ProcessEvents();
995
#ifdef Unix
994
#ifdef Unix
996
	InputHandler *what;
-
 
997
 
-
 
998
	if(R_wait_usec > 0) {
995
	if(R_wait_usec > 0) {
999
	    R_PolledEvents();
-
 
1000
	    tv.tv_sec = 0;
996
	    tv.tv_sec = 0;
1001
	    tv.tv_usec = R_wait_usec;
997
	    tv.tv_usec = R_wait_usec;
1002
	} else {
998
	} else {
1003
	    tv.tv_sec = timeout;
999
	    tv.tv_sec = timeout;
1004
	    tv.tv_usec = 0;
1000
	    tv.tv_usec = 0;
1005
	}
1001
	}
1006
#elif defined(Win32)
1002
#elif defined(Win32)
1007
	tv.tv_sec = 0;
1003
	tv.tv_sec = 0;
1008
	tv.tv_usec = 2e5;
1004
	tv.tv_usec = 2e5;
1009
	R_ProcessEvents();
-
 
1010
#else
1005
#else
1011
	tv.tv_sec = timeout;
1006
	tv.tv_sec = timeout;
1012
	tv.tv_usec = 0;
1007
	tv.tv_usec = 0;
1013
#endif
1008
#endif
1014
 
1009
 
Line 1051... Line 1046...
1051
		errno = status;
1046
		errno = status;
1052
		return (-1);
1047
		return (-1);
1053
	    } else return(s);
1048
	    } else return(s);
1054
#ifdef Unix
1049
#ifdef Unix
1055
	} else { /* some other handler needed */
1050
	} else { /* some other handler needed */
-
 
1051
	    InputHandler *what;
1056
	    what = getSelectedHandler(R_InputHandlers, &rfd);
1052
	    what = getSelectedHandler(R_InputHandlers, &rfd);
1057
	    if(what != NULL) what->handler((void*) NULL);
1053
	    if(what != NULL) what->handler((void*) NULL);
1058
	    continue;
1054
	    continue;
1059
#endif
1055
#endif
1060
	}
1056
	}