RDDIR
if (rdc->flags & RDDIR) {
rdc->flags |= RDDIR;
rdc->flags &= ~RDDIR;
rdc->flags &= ~RDDIR;
while (rdc->flags & RDDIR) {
rdc->flags |= RDDIR;
rdc->flags &= ~RDDIR;
ASSERT(!(rdc->flags & RDDIR));
rrdc->flags |= RDDIR;
rdc->flags &= ~RDDIR;
ASSERT(rdc->flags & RDDIR);
ASSERT(rdc->flags & RDDIR);
rdc->flags &= ~RDDIR;
rc->flags = RDDIR;
if (rdc->flags & RDDIR) {
rdc->flags |= RDDIR;
ASSERT(rdc->flags & RDDIR);
rdc->flags &= ~RDDIR;