Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 5 Apr 1998 14:54:27 +0400
From:      =?koi8-r?B?4c7E0sXKIP7F0s7P1w==?= <ache@nagual.pp.ru>
To:        phk@FreeBSD.ORG, current@FreeBSD.ORG
Subject:   dead hang after ppp started (with workaround)
Message-ID:  <19980405145427.14961@nagual.pp.ru>

next in thread | raw e-mail | index | archive | help
This change in kern_time.c 1.46 cause dead hang after ppp started, stack
looks like:

vec1(...)
softclock(...)
doreti_swi(...)

below is workaround (I not shure it is right, just back out to 1.45 code,
but it work!)


Index: kern_time.c
===================================================================
RCS file: /home/ncvs/src/sys/kern/kern_time.c,v
retrieving revision 1.46
retrieving revision 1.45
diff -c -r1.46 -r1.45
*** kern_time.c	1998/04/04 18:46:13	1.46
--- kern_time.c	1998/04/04 13:25:25	1.45
***************
*** 536,544 ****
  	if (uap->which == ITIMER_REAL) {
  		if (timerisset(&p->p_realtimer.it_value))
  			untimeout(realitexpire, (caddr_t)p, p->p_ithandle);
! 		if (timerisset(&aitv.it_value)) 
  			p->p_ithandle = timeout(realitexpire, (caddr_t)p,
! 						tvtohz(&aitv.it_value));
  		p->p_realtimer = aitv;
  	} else
  		p->p_stats->p_timer[uap->which] = aitv;
--- 536,547 ----
  	if (uap->which == ITIMER_REAL) {
  		if (timerisset(&p->p_realtimer.it_value))
  			untimeout(realitexpire, (caddr_t)p, p->p_ithandle);
! 		if (timerisset(&aitv.it_value)) {
! 			getmicrotime(&ctv);
! 			timevaladd(&aitv.it_value, &ctv);
  			p->p_ithandle = timeout(realitexpire, (caddr_t)p,
! 						hzto(&aitv.it_value));
! 		}
  		p->p_realtimer = aitv;
  	} else
  		p->p_stats->p_timer[uap->which] = aitv;

-- 
Andrey A. Chernov
http://www.nagual.pp.ru/~ache/
MTH/SH/HE S-- W-- N+ PEC>+ D A a++ C G>+ QH+(++) 666+>++ Y

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19980405145427.14961>