23 May 2013 12:49
Found problem in Thread class implementation
Richard Rauch <rrauch <at> itrgmbh.de>
2013-05-23 10:49:47 GMT
2013-05-23 10:49:47 GMT
Hi,
maybe I found a problem in schedulers code....
For debugging purposes I enabled some options:
- CYGVAR_KERNEL_THREADS_LIST
- CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
On application startup some threads should be created, but I am running in
an exception. The reason of exception is located here:
inline void
Cyg_Thread::add_to_list( void )
{
// Add thread to housekeeping list
Cyg_Scheduler::lock();
if( thread_list == 0 )
list_next = this;
else {
Cyg_Thread *prev = thread_list;
do {
if ( this == prev )
break; // found it already!
prev = prev->list_next;
} while ( prev != thread_list );
if ( this != prev ) {
// insert it in the list:
list_next = thread_list->list_next;
(Continue reading)
RSS Feed