2009-09-26 Eric Blake <ebb9@byu.net>
+ * exec.cc (fexecve): New function.
+ * cygwin.din (execvpe, fexecve): Export new fexecve and existing
+ execvpe.
+ * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump.
+ * posix.sgml: Mention them.
+
+2009-09-26 Eric Blake <ebb9@byu.net>
+
* syscalls.cc (link): Delete obsolete comment. Reject directories
and missing source up front.
(rename): Use correct errno for trailing '.'. Detect empty
/* exec.cc: exec system call support.
- Copyright 1996, 1997, 1998, 2000, 2001, 2002 Red Hat, Inc.
+ Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2009 Red Hat, Inc.
This file is part of Cygwin.
#include "cygerrno.h"
#include "path.h"
#include "environ.h"
+#include "sync.h"
+#include "fhandler.h"
+#include "dtable.h"
+#include "cygheap.h"
#undef _execve
/* This is called _execve and not execve because the real execve is defined
path_conv buf;
return execve (find_exec (path, buf), argv, envp);
}
+
+extern "C" int
+fexecve (int fd, char * const *argv, char *const *envp)
+{
+ cygheap_fdget cfd (fd);
+ if (cfd < 0)
+ {
+ syscall_printf ("-1 = fexecve (%d, %p, %p)", fd, argv, envp);
+ return -1;
+ }
+ return execve (cfd->pc.get_win32 (), argv, envp);
+}
211: Export fpurge, mkstemps.
212: Add and export libstdc++ malloc wrappers.
213: Export canonicalize_file_name, eaccess, euidaccess.
+ 214: Export execvpe, fexecve.
*/
/* Note that we forgot to bump the api for ualarm, strtoll, strtoull */
#define CYGWIN_VERSION_API_MAJOR 0
-#define CYGWIN_VERSION_API_MINOR 213
+#define CYGWIN_VERSION_API_MINOR 214
/* There is also a compatibity version number associated with the
shared memory regions. It is incremented when incompatible