/***********************************************************************/ /* */ /* OCaml */ /* */ /* Xavier Leroy, projet Cristal, INRIA Rocquencourt */ /* */ /* Copyright 1996 Institut National de Recherche en Informatique et */ /* en Automatique. All rights reserved. This file is distributed */ /* under the terms of the GNU Library General Public License, with */ /* the special exception on linking described in file ../../LICENSE. */ /* */ /***********************************************************************/ #include #include #include #include "unixsupport.h" #include #include #ifdef HAS_DIRENT #include #else #include #endif CAMLprim value unix_closedir(value vd) { CAMLparam1(vd); DIR * d = DIR_Val(vd); if (d == (DIR *) NULL) unix_error(EBADF, "closedir", Nothing); caml_enter_blocking_section(); closedir(d); caml_leave_blocking_section(); DIR_Val(vd) = (DIR *) NULL; CAMLreturn(Val_unit); }