summaryrefslogtreecommitdiff
path: root/proto.h
diff options
context:
space:
mode:
authorAndy Broad <andy@broad.ology.org.uk>2015-09-13 14:37:43 -0400
committerJarkko Hietaniemi <jhi@iki.fi>2015-09-16 07:44:29 -0400
commit738ab09f5846887e462080d6443fb8d1e751f247 (patch)
tree28815d963b6369d436789f18cf4551d662b3e171 /proto.h
parentdee43f802e849f37f65552e91b5dda77197dc05b (diff)
downloadperl-738ab09f5846887e462080d6443fb8d1e751f247.tar.gz
amigaos4: move the amigaos exec code under amigaos4
Largely reimplements 839a9f02, 54fa14d7, e8432c63, 40262ff4. The upside is that now doio.c and pp_sys.c have much less AmigaOS specific ifdefs. As a downside, the exec code is now forked (pun only partially accidental.) The earlier story regarding fork+exec, that the AmigaOS creating thread doesn't terminate but instead continues running is both true and false. The more detailed story is that the user-observable behaviour is as with POSIX/UNIX. The thread that created the new "task" (to use the AmigaOS terms) does hang around -- but all it does is to wait for the new task to terminate, and more importantly, it holds on to the resources like filehandles. If the task were to immediately terminate, the resources would be reclaimed by the kernel.
Diffstat (limited to 'proto.h')
-rw-r--r--proto.h10
1 files changed, 5 insertions, 5 deletions
diff --git a/proto.h b/proto.h
index 6d32816080..6d49f47a9c 100644
--- a/proto.h
+++ b/proto.h
@@ -684,10 +684,10 @@ PERL_CALLCONV_NO_RET void Perl_die_unwind(pTHX_ SV* msv)
#define PERL_ARGS_ASSERT_DIE_UNWIND \
assert(msv)
-/* PERL_CALLCONV DO_EXEC_TYPE Perl_do_aexec(pTHX_ SV* really, SV** mark, SV** sp); */
+/* PERL_CALLCONV bool Perl_do_aexec(pTHX_ SV* really, SV** mark, SV** sp); */
#define PERL_ARGS_ASSERT_DO_AEXEC \
assert(mark); assert(sp)
-PERL_CALLCONV DO_EXEC_TYPE Perl_do_aexec5(pTHX_ SV* really, SV** mark, SV** sp, int fd, int do_report);
+PERL_CALLCONV bool Perl_do_aexec5(pTHX_ SV* really, SV** mark, SV** sp, int fd, int do_report);
#define PERL_ARGS_ASSERT_DO_AEXEC5 \
assert(mark); assert(sp)
PERL_CALLCONV int Perl_do_binmode(pTHX_ PerlIO *fp, int iotype, int mode);
@@ -3588,7 +3588,7 @@ PERL_CALLCONV Signal_t Perl_sighandler(int sig);
PERL_CALLCONV void Perl_sv_nounlocking(pTHX_ SV *sv);
#endif
#if !(defined(PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION))
-PERL_CALLCONV DO_EXEC_TYPE Perl_do_exec(pTHX_ const char* cmd);
+PERL_CALLCONV bool Perl_do_exec(pTHX_ const char* cmd);
#define PERL_ARGS_ASSERT_DO_EXEC \
assert(cmd)
#endif
@@ -3747,7 +3747,7 @@ STATIC NV S_mulexp10(NV value, I32 exponent);
# endif
#endif
#if !defined(WIN32)
-PERL_CALLCONV DO_EXEC_TYPE Perl_do_exec3(pTHX_ const char *incmd, int fd, int do_report);
+PERL_CALLCONV bool Perl_do_exec3(pTHX_ const char *incmd, int fd, int do_report);
#define PERL_ARGS_ASSERT_DO_EXEC3 \
assert(incmd)
#endif
@@ -3954,7 +3954,7 @@ PERL_CALLCONV PADOFFSET Perl_op_refcnt_dec(pTHX_ OP *o);
PERL_CALLCONV OP * Perl_op_refcnt_inc(pTHX_ OP *o);
#endif
#if defined(PERL_DEFAULT_DO_EXEC3_IMPLEMENTATION)
-/* PERL_CALLCONV DO_EXEC_TYPE Perl_do_exec(pTHX_ const char* cmd); */
+/* PERL_CALLCONV bool Perl_do_exec(pTHX_ const char* cmd); */
#endif
#if defined(PERL_DONT_CREATE_GVSV)
/* PERL_CALLCONV GV* Perl_gv_SVadd(pTHX_ GV *gv); */