To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.robotics.rcx.legosOpen lugnet.robotics.rcx.legos in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / RCX / legOS / 421
420  |  422
Subject: 
Re: legOS limitation
Newsgroups: 
lugnet.robotics.rcx.legos
Date: 
Wed, 27 Oct 1999 22:38:51 GMT
Viewed: 
1140 times
  
Hi Colin,

Colin Northway wrote:
Hey, this is a small but frustrating one.  This is in legOS 1.7 but I beleive
it will still be in 2.0 as it's caused by the 1 priority to a task requirement.

The one task per priority level requirement is gone at least since
March. There is a priority chain mechanism now, with round-robin
scheduling within a priority level.

  If you write code like the following:

  while(1){
    wait(for something);
    kill(t1);
    t1 = execi(&move_around, 1, ...);
    sleep(1);
  }

Yes, a task won't die while higher-priority tasks are running. This
won't cause execi() to fail, however - unless the old task's stack
absolutely needs to be freed prior to allocation of a new task. Execi
may always fail because it's out of memory.

If you'd like to fix this, you might consider writing code to renice
processes. Bear in mind this may require substantial modifications of
priority chains, though.

Markus.

--
"Nieder mit den Zitaten!" -Markus L. Noga <markus@noga.de>



Message is in Reply To:
  legOS limitation
 
Hey, this is a small but frustrating one. This is in legOS 1.7 but I beleive it will still be in 2.0 as it's caused by the 1 priority to a task requirement. If you write code like the following: while(1){ wait(for something); kill(t1); t1 = (...) (25 years ago, 27-Oct-99, to lugnet.robotics.rcx.legos)

2 Messages in This Thread:

Entire Thread on One Page:
Nested:  All | Brief | Compact | Dots
Linear:  All | Brief | Compact
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR