1 /***********************************************************************/
5 /* Xavier Leroy, projet Cristal, INRIA Rocquencourt */
7 /* Copyright 1996 Institut National de Recherche en Informatique et */
8 /* en Automatique. All rights reserved. This file is distributed */
9 /* under the terms of the GNU Library General Public License, with */
10 /* the special exception on linking described in file ../../LICENSE. */
12 /***********************************************************************/
17 #include "unixsupport.h"
19 CAMLprim value
unix_dup(value fd
)
23 int kind
= Descr_kind_val(fd
);
24 if (! DuplicateHandle(GetCurrentProcess(), Handle_val(fd
),
25 GetCurrentProcess(), &newh
,
26 0L, TRUE
, DUPLICATE_SAME_ACCESS
)) {
27 win32_maperr(GetLastError());
30 newfd
= win_alloc_handle(newh
);
31 Descr_kind_val(newfd
) = kind
;