[PATCH] Fix an abort in transaction_loop under transaction_loop_recovery test (bug 12580)

Martin Schwenke martin at meltin.net
Thu Feb 16 04:27:34 UTC 2017


On Wed, 15 Feb 2017 11:39:32 +1100, Martin Schwenke <martin at meltin.net>
wrote:

> On Wed, 15 Feb 2017 11:26:55 +1100, Amitay Isaacs <amitay at gmail.com>
> wrote:
> 
> > What's the best practice when using tevent_queue with tevent_req?
> > 
> > comm_write_send/recv computation is used to send data to an fd.  There can
> > be multiple write requests occurring simultaneously, so comm_write_send
> > uses a tevent_queue to serialize all those requests.  However, what happens
> > if tevent_req which is in the queue is freed?  What's the best way to track
> > the queue entry corresponding to that tevent_req?
> > 
> > Here's an attempt to track tevent_req and corresponding tevent_queue_entry,
> > so when tevent_req is free'd, the corresponding tevent_queue_entry also
> > gets freed and the entry is removed from the queue.
> > 
> > Please review and push.  
> 
> I've run the relevant CTDB test in a loop for 4 days and it is now rock
> solid. This clearly fixes the problem, so...
> 
> Reviewed-by: Martin Schwenke <martin at meltin.net>
> 
> However, I'll hold off pushing so that we can see what others say about
> best practice.  :-)

Pushed...

peace & happiness,
martin



More information about the samba-technical mailing list