On Sunday, April 15, 2012 at 9:44 PM, Sage Weil wrote: > We just switched the completion callbacks so that they are called > asynchronously from another thread. This makes the locking less weird for > certain callers and lets you call back into librados in your callback > safely. > > This breaks one of the functional tests, which sets a bool in the > callback, does wait_for_complete() on the aio handle, and then asserts > that the bool is set. There's now a race between the caller's thread and > the completion thread. > > Do we just call this a broken test, or do we want some way of blocking on > the aio handle until the completion has been called? > I think we have to block the aio handle until the completion has been called. Expecting users to (constantly re-)implement that themselves is just silly, and anybody who needs to wait_for_complete() is going to expect the completion to have been called. I don't remember exactly how wait_for_complete() is triggered, but it can't be too difficult to move it into the completion thread. -Greg -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html