diff --git a/library/GNUmakefile.68k b/library/GNUmakefile.68k index 15ae356..fe9e372 100644 --- a/library/GNUmakefile.68k +++ b/library/GNUmakefile.68k @@ -1,5 +1,5 @@ # -# $Id: GNUmakefile.68k,v 1.93 2006-08-06 08:15:42 obarthel Exp $ +# $Id: GNUmakefile.68k,v 1.94 2006-08-06 08:31:05 obarthel Exp $ # # :ts=8 # @@ -622,6 +622,8 @@ MATH_LIB = \ math_expm1f.o \ math_fabs.o \ math_fabsf.o \ + math_fdim.o \ + math_fdimf.o \ math_floor.o \ math_floorf.o \ math_fma.o \ diff --git a/library/GNUmakefile.os4 b/library/GNUmakefile.os4 index 1f7d5ab..b7820d3 100644 --- a/library/GNUmakefile.os4 +++ b/library/GNUmakefile.os4 @@ -1,5 +1,5 @@ # -# $Id: GNUmakefile.os4,v 1.106 2006-08-06 08:15:42 obarthel Exp $ +# $Id: GNUmakefile.os4,v 1.107 2006-08-06 08:31:05 obarthel Exp $ # # :ts=8 # @@ -666,6 +666,8 @@ MATH_LIB = \ math_expm1f.o \ math_fabs.o \ math_fabsf.o \ + math_fdim.o \ + math_fdimf.o \ math_floor.o \ math_floorf.o \ math_fma.o \ @@ -713,6 +715,8 @@ MATH_LIB = \ math_logb.o \ math_logbf.o \ math_logf.o \ + math_lrint.o \ + math_lrintf.o \ math_lround.o \ math_lroundf.o \ math_modf.o \ diff --git a/library/changes b/library/changes index 8c8eb72..41df84b 100644 --- a/library/changes +++ b/library/changes @@ -1,3 +1,7 @@ +- Added the missing fdim() and fdimf() functions to the build + makefiles. The OS4 build makefile was missing lrint() and + lrintf(). Ouch. + - Added the POSIX exec() family functions, based upon code contributed by Henning Nielsen Lund. Thank you very much! diff --git a/library/unistd_execve.c b/library/unistd_execve.c index f750eec..d1a197a 100644 --- a/library/unistd_execve.c +++ b/library/unistd_execve.c @@ -1,5 +1,5 @@ /* - * $Id: unistd_execve.c,v 1.7 2006-08-06 08:15:42 obarthel Exp $ + * $Id: unistd_execve.c,v 1.8 2006-08-06 08:31:06 obarthel Exp $ * * :ts=4 * @@ -135,6 +135,13 @@ get_first_script_line(const char * path,char ** line_ptr) { char * new_script_line; + /* Give the user a chance to bail out. */ + if(__check_abort_enabled && (SetSignal(0,0) & __break_signal_mask) != 0) + { + __set_errno(EAGAIN); + goto out; + } + /* Always reserve a little more memory than needed, and one extra byte to allow us to to NUL-terminate the string. */ @@ -310,6 +317,13 @@ find_command(const char * path,struct program_info ** result_ptr) do { + /* Give the user a chance to bail out. */ + if(__check_abort_enabled && (SetSignal(0,0) & __break_signal_mask) != 0) + { + error = EAGAIN; + break; + } + dvp = GetDeviceProc((STRPTR)path,dvp); if(dvp != NULL) { @@ -796,5 +810,8 @@ execve(const char *path, char *const argv[], char *const envp[]) if(success) __execve_exit(result); + /* Just in case somebody wants to quit... */ + __check_abort(); + return(result); }