On Fri, Apr 01, 2011 at 04:17:14PM -0400, Jeff King wrote:
quoted
static inline int pthread_cancel(pthread_t thread)
{
SetEvent(thread.cancel_event);
CancelSynchronousIo(thread.handle);
}
There are a ton of cancellation points, not just I/O (e.g., sleep).
However, interrupting a read would probably be sufficient for git's
purposes.
Actually, I take that back. It would be sufficient for abort_async with
its current callers, but adding a pthread_cancel that is only partially
there may end up causing headaches down the road.
-Peff