"Can't obtain network semaphore"

Steve Holle sholle at link-comm.com
Tue Dec 14 17:24:34 UTC 2004


At 09:59 AM 12/14/2004, Steve Holle wrote:
>I need to revisit this problem as I am seeing it again. The error message 
>comes from "rtems_glue.c:312" and it's frequency of occurrence seems to 
>move around with the build.  If I place a breakpoint on that line my 
>backtrace displays the following :
>
>         #4      0x0013a108      in      _Thread_Handler () at 
> threadhandler.c:129
>         #3      0x0011df64      in      taskEntry () at rtems_glue.c:587
>         #2      0x0010e3b4      in      fec_tcDaemon () at network.c:698
>         #1      0x0011e07e      in      rtems_bsdnet_event_receive () at 
> rtems_glue.c:642
>         #0      rtems_bsdnet_semaphore_obtain () at rtems_glue.c:312

One other piece of info.  All the network threads except  the streaming 
audio threads are started using the rtems functions as follows :
   sc = rtems_bsdnet_initialize_network ();
   sc = rtems_initialize_ftpd();
   sc = rtems_initialize_webserver();

My streaming audio server thread is started as follows :
         rtems_task_set_priority (RTEMS_SELF, RTEMS_CURRENT_PRIORITY, 
&my_priority);
         rtems_id tid;
         sc = rtems_task_create (rtems_build_name ('S', 'A', 'S', 'V'),
                 my_priority - 1,
                 RTEMS_MINIMUM_STACK_SIZE*4,
                 RTEMS_PREEMPT|RTEMS_NO_TIMESLICE|RTEMS_NO_ASR|RTEMS_INTERRUPT_LEVEL(0),
                 RTEMS_NO_FLOATING_POINT|RTEMS_LOCAL,
                 &tid);

My receive and transmit threads are started as follows :
         rtems_task_set_priority (RTEMS_SELF, RTEMS_CURRENT_PRIORITY, 
&my_priority_r);
         sc = rtems_task_create (rtems_build_name ('S', 'A', 'S', 'R'),
                 my_priority_r,
                 RTEMS_MINIMUM_STACK_SIZE*4,
                 RTEMS_PREEMPT | RTEMS_NO_TIMESLICE | 
RTEMS_NO_ASR|RTEMS_INTERRUPT_LEVEL(0),
                 RTEMS_NO_FLOATING_POINT|RTEMS_LOCAL,
                 &tidr);

         rtems_task_set_priority (RTEMS_SELF, RTEMS_CURRENT_PRIORITY, 
&my_priority_w);
                 sc = rtems_task_create (rtems_build_name ('S', 'A', 'S', 'W'),
                 my_priority_w,
                 RTEMS_MINIMUM_STACK_SIZE*4,
                 RTEMS_PREEMPT | RTEMS_NO_TIMESLICE | RTEMS_NO_ASR | 
RTEMS_INTERRUPT_LEVEL(0),
                 RTEMS_NO_FLOATING_POINT|RTEMS_LOCAL,
                 &tidw);


>Any suggestions?
>
>Steve Holle
>Link Communications, Inc.
>1035 Cerise Rd.
>Billings, MT  59101
>sholle at link-comm.com

Steve Holle
Link Communications, Inc.
1035 Cerise Rd.
Billings, MT  59101
sholle at link-comm.com  




More information about the users mailing list