| | Re: threads - bug in the firmware?
|
|
Hi Mike, your problem is not because of an error in legOS. But what you do is that you start your subroutines and then you leave main()! Leaving main means that all your allocated memory is freed. The following will do the job: ---...--- cut here (...) (23 years ago, 17-Jan-02, to lugnet.robotics.rcx.legos)
|
|
| | IRC
|
|
Anyone who is a regular user of IRC can join my channel #LegoMindstorms (on dalnet). Coma and chat or give/recieve assistance. If you join you are welcome to Ops because anyone in here will know more about Mindstorms than me as i know almost (...) (23 years ago, 16-Jan-02, to lugnet.robotics.rcx.legos)
|
|
| | Re: threads
|
|
Albert (...) yea, I see what you are getting at. I am sure that I was hitting the bumper while the threads were still alive, but I will check again. I think this also points out some of the dangers of just dumping in some poorly thought out dummy (...) (23 years ago, 17-Jan-02, to lugnet.robotics.rcx.legos)
|
|
| | Re: threads - bug in the firmware?
|
|
(...) As pointed by Albert Huang, you cannot call kill() with an "invalid" pid. Actually, the comment above kill() in tm.c says: //! kill a process /*! \param pid must be valid process ID, or undefined behaviour will result! The function updates (...) (23 years ago, 16-Jan-02, to lugnet.robotics.rcx.legos)
|
|
| | Re: threads
|
|
two of your threads terminate shortly after being started (...) as far as I know, legOS provides no functionality for determining whether or not a thread is alive or not. You need to keep track of this yourself (e.g. using a variable/flag that gets (...) (23 years ago, 16-Jan-02, to lugnet.robotics.rcx.legos)
|