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

Martin Schwenke martin at meltin.net
Wed Feb 15 00:39:32 UTC 2017


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.  :-)

peace & happiness,
martin



More information about the samba-technical mailing list