auth auth_request auth_reply startup \
process process_request \
msg msg_reply msg_request \
- exec exec_startup crash interrupt \
- fs fsys io io_reply io_request \
+ exec exec_experimental exec_startup crash interrupt \
+ fs fs_experimental fsys io io_reply io_request \
term tioctl socket ifsock \
login password pfinet \
)
#include <hurd/fd.h>
#include <hurd/signal.h>
#include <hurd/id.h>
+#include <hurd/fs_experimental.h>
#include <assert.h>
#include <argz.h>
+#include <shlib-compat.h>
+
/* Overlay TASK, executing FILE with arguments ARGV and environment ENVP.
If TASK == mach_task_self (), some ports are dealloc'd by the exec server.
ARGV and ENVP are terminated by NULL pointers.
return _hurd_exec_paths (task, file, NULL, NULL, argv, envp);
}
+error_t
+__hurd_exec_file_name (task_t task, file_t file, const char *filename,
+ char *const argv[], char *const envp[])
+{
+ return _hurd_exec_paths (task, file, filename, filename, argv, envp);
+}
+
link_warning (_hurd_exec,
"_hurd_exec is deprecated, use _hurd_exec_paths instead");
task == __mach_task_self () ? 1 : 0);
/* Fall back for backwards compatibility. This can just be removed
when __file_exec goes away. */
+ if (err == MIG_BAD_ID)
+ err = __file_exec_file_name (file, task, flags,
+ path ? path : "",
+ args, argslen, env, envlen,
+ dtable, MACH_MSG_TYPE_COPY_SEND, dtablesize,
+ ports, MACH_MSG_TYPE_COPY_SEND,
+ _hurd_nports,
+ ints, INIT_INT_MAX,
+ please_dealloc, pdp - please_dealloc,
+ &_hurd_msgport,
+ task == __mach_task_self () ? 1 : 0);
+ /* Fall back for backwards compatibility. This can just be removed
+ when __file_exec goes away. */
if (err == MIG_BAD_ID)
err = __file_exec (file, task, flags,
args, argslen, env, envlen,
free (env);
return err;
}
+extern error_t _hurd_exec_file_name (task_t task,
+ file_t file,
+ const char *filename,
+ char *const argv[],
+ char *const envp[]);
+versioned_symbol (libc, __hurd_exec_file_name, _hurd_exec_file_name, GLIBC_2_21);
#include <hurd/id.h>
#include <hurd/lookup.h>
#include <hurd/resource.h>
+#include <hurd/fs_experimental.h>
#include <assert.h>
#include <argz.h>
#include "spawn_int.h"
ints, INIT_INT_MAX,
NULL, 0, NULL, 0);
+ /* Fallback for backwards compatibility. This can just be removed
+ when __file_exec goes away. */
+ if (err == MIG_BAD_ID)
+ err = __file_exec_file_name
+ (file, task,
+ __sigismember (&_hurdsig_traced, SIGKILL) ? EXEC_SIGTRAP : 0,
+ relpath, args, argslen, env, envlen,
+ dtable, MACH_MSG_TYPE_COPY_SEND, dtablesize,
+ ports, MACH_MSG_TYPE_COPY_SEND, _hurd_nports,
+ ints, INIT_INT_MAX,
+ NULL, 0, NULL, 0);
+
/* Fallback for backwards compatibility. This can just be removed
when __file_exec goes away. */
if (err == MIG_BAD_ID)