Boost logo

Boost Users :

Subject: Re: [Boost-users] Boost-users] [asio]about reactor_op_queue dead loop
From: victor (victor.boost.program_at_[hidden])
Date: 2010-01-13 05:19:39


have resolved!
when async_write, I use the same custom memory in two thread.

2010/1/13 victor <victor.boost.program_at_[hidden]>

> I call boost::asio::async_write, finally it call "bool
> enqueue_operation(Descriptor descriptor, Operation operation)"
>
> In this function , there is code as flow:
> while (current_op->next_)
> current_op = current_op->next_;
>
> My process execute it for ever. Using gdb to attach the prcocess, I find :
> 68 while (current_op->next_)
> (gdb) p current_op
> $8 = (class boost::asio::detail::reactor_op_queue<int>::op_base *)
> 0x93381c8
> (gdb) p current_op->next_
> $9 = (class boost::asio::detail::reactor_op_queue<int>::op_base *)
> 0x93381c8
>
> current_op and current_op->next_ is the same address.
>
> how did it come true? I have no any clue. Anyone can offer some suggestion?
>
>
>



Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net