Hi Srini,
Could you put together a tarball of the code for me to take a look at?
thanks,
Martin
Hi
I'm using the TcpSocket ::write to send packets back to a python
program. Once the program received the packet, I see that my
controller CPU is at a high load (increased from ~3% to 95+%). Any
clue why this is happening? The only piece of code I ran was:
const Msg_event& me = assert_cast<const Msg_event&>(e);
Nonowning_buffer buf = ((uint8_t*)rspec_str, strlen(rspec_str));
printf("Writing buffer of size %d\n", strlen(rspec_str));
count_written = me.sock->write(*buf, 0);
printf("Bytes written: %d\n", count_written);
free(rspec_str);
printf("Done freeing\n");
I added a few ugly printf messages in the threads/impl.cc. I see that
my quiet system explodes after the write operation and repeats one set
of code block in an infinite loop.
Log:
----
Writing buffer of size 56
--> co_might_yield_if 0
Bytes written: 56
Done freeing
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_poll
--> co_yield 0
--> co_might_yield 0
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
--> co_might_yield 0
--> co_enter_critical_section 0
--> co_enter_critical_section 1
--> co_enter_critical_section 2
--> co_enter_critical_section 3
----> co_block
--> co_might_yield 0
----> schedule
----> do_schedule
--> co_might_yield 0
----> reschedule_while_needed
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_set_preblock_hook
--> co_enter_critical_section 0
--> co_exit_critical_section 1
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_poll
--> co_yield 0
--> co_might_yield 0
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
--> co_might_yield 0
--> co_enter_critical_section 0
--> co_enter_critical_section 1
--> co_enter_critical_section 2
--> co_enter_critical_section 3
----> co_block
--> co_might_yield 0
----> schedule
----> do_schedule
--> co_might_yield 0
----> reschedule_while_needed
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_set_preblock_hook
--> co_enter_critical_section 0
--> co_exit_critical_section 1
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_poll
--> co_yield 0
--> co_might_yield 0
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
--> co_might_yield 0
--> co_enter_critical_section 0
--> co_enter_critical_section 1
--> co_enter_critical_section 2
--> co_enter_critical_section 3
----> co_block
--> co_might_yield 0
----> schedule
----> do_schedule
--> co_might_yield 0
----> reschedule_while_needed
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_set_preblock_hook
--> co_enter_critical_section 0
--> co_exit_critical_section 1
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_poll
--> co_yield 0
--> co_might_yield 0
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
--> co_might_yield 0
--> co_enter_critical_section 0
--> co_enter_critical_section 1
--> co_enter_critical_section 2
--> co_enter_critical_section 3
----> co_block
--> co_might_yield 0
----> schedule
----> do_schedule
--> co_might_yield 0
----> reschedule_while_needed
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_set_preblock_hook
--> co_enter_critical_section 0
--> co_exit_critical_section 1
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_poll
--> co_yield 0
--> co_might_yield 0
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
----> co_set_preblock_hook
----> co_unset_preblock_hook
----> co_set_preblock_hook
--> co_might_yield 0
--> co_enter_critical_section 0
--> co_enter_critical_section 1
--> co_enter_critical_section 2
--> co_enter_critical_section 3
----> co_block
--> co_might_yield 0
_______________________________________________
nox-dev mailing list
[email protected]
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org
_______________________________________________
nox-dev mailing list
[email protected]
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org