return __close (fd);
return close_not_cancel (fd);
__closedir (DIR *dirp){  int fd;  if (dirp == NULL)    {      __set_errno (EINVAL);      return -1;    }  /* We do not try to synchronize access here.  If some other thread     still uses this handle it is a big mistake and that thread     deserves all the bad data it gets.  */  fd = dirp->fd;  __libc_lock_fini (dirp->lock);  free ((void *) dirp);  return __close (fd);}