Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Aug 2004 15:06:51 +0800
From:      <yangshazhou@hotmail.com>
To:        <freebsd-hackers@freebsd.org>
Subject:   yield() in kernel CAN'T yield control for MOD_LOAD thread
Message-ID:  <BAY17-DAV11uCBcKfEx00001b48@hotmail.com>

next in thread | raw e-mail | index | archive | help
Hi all,
    This problem delay me for quite a long time.
    I've built two klds, I'd like to see the result one's running to the
other's. In one kld's MOD_LOAD subroutine, I make a long 'for' loop, in
which it DELAY(1000) and then call yield(curthread,NULL). When the module
was loaded by kldload, the system failed to response until the loop quit.
The loop seems like that:
 for(i=0;i<8000;i++){
    ......
  DELAY(1000);
  yield(curthread,NULL);
 }

    My system is 5.2.1-release. Thanks.



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