diff options
Diffstat (limited to 'WWW/Library/Implementation/HTTCP.c')
-rw-r--r-- | WWW/Library/Implementation/HTTCP.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/WWW/Library/Implementation/HTTCP.c b/WWW/Library/Implementation/HTTCP.c index bd68d5be..46c85034 100644 --- a/WWW/Library/Implementation/HTTCP.c +++ b/WWW/Library/Implementation/HTTCP.c @@ -1776,6 +1776,10 @@ PUBLIC int HTDoRead ARGS3( fd_set readfds; struct timeval timeout; int tries=0; +#ifdef EXP_READPROGRESS + int otries = 0; + time_t otime = time((time_t *)0); +#endif #if defined(UNIX) || defined(UCX) int nb; #endif /* UCX, BSN */ @@ -1823,6 +1827,18 @@ PUBLIC int HTDoRead ARGS3( return HT_INTERRUPTED; } +#ifdef EXP_READPROGRESS + if (tries - otries > 10) { + time_t t = time((time_t *)0); + + otries = tries; + if (t - otime >= 5) { + otime = t; + HTReadProgress(-1, 0); /* Put "stalled" message */ + } + } +#endif + /* ** If we suspend, then it is possible that select will be ** interrupted. Allow for this possibility. - JED |