VI_DETACHING
#define IS_DETACHING(vi) ((vi)->flags & VI_DETACHING)
#define SET_DETACHING(vi) do {(vi)->flags |= VI_DETACHING;} while (0)
#define CLR_DETACHING(vi) do {(vi)->flags &= ~VI_DETACHING;} while (0)