/**************************************************************************/ /* */ /* 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 Lesser General Public License version 2.1, with the */ /* special exception on linking described in the 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); }