ObjFW  Check-in [f45a6bb10b]

Overview
Comment:OFProcess: Use _exit() on failure
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: f45a6bb10b82f0803c904f754939f13adbe20de4db586997847558eba2ff7520
User & Date: js on 2014-10-24 19:12:24
Other Links: manifest | tags
Context
2014-11-09
18:54
OFProcess: Do all memory allocation before fork() check-in: 30e5c5ea27 user: js tags: trunk
2014-10-24
19:12
OFProcess: Use _exit() on failure check-in: f45a6bb10b user: js tags: trunk
19:12
OFApplication: Use EXIT_SUCCESS as default status check-in: 46cf9f33a8 user: js tags: trunk
Changes

Modified configure.ac from [eec1183ff7] to [6164418947].

884
885
886
887
888
889
890
891
892
893
894
895
896

897
898
899
900
901
902
903
	*-*-mingw*)
		have_processes="yes"
		;;
	*-*-msdosdjgpp*)
		have_processes="no"
		;;
	*)
		AC_CHECK_FUNCS([fork dup2 execvp kill], [
			if test x"$ac_cv_func_fork" = x"yes" \
			    -a x"$ac_cv_func_pipe" = x"yes" \
			    -a x"$ac_cv_func_dup2" = x"yes" \
			    -a x"$ac_cv_func_execvp" = x"yes" \
			    -a x"$ac_cv_func_kill" = x"yes"; then

				have_processes="yes"
			fi
		], [
			break
		])
		;;
esac







|




|
>







884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
	*-*-mingw*)
		have_processes="yes"
		;;
	*-*-msdosdjgpp*)
		have_processes="no"
		;;
	*)
		AC_CHECK_FUNCS([fork dup2 execvp kill _exit], [
			if test x"$ac_cv_func_fork" = x"yes" \
			    -a x"$ac_cv_func_pipe" = x"yes" \
			    -a x"$ac_cv_func_dup2" = x"yes" \
			    -a x"$ac_cv_func_execvp" = x"yes" \
			    -a x"$ac_cv_func_kill" = x"yes" \
			    -a x"$ac_cv_func__exit" = x"yes"; then
				have_processes="yes"
			fi
		], [
			break
		])
		;;
esac

Modified src/OFProcess.m from [940798f49a] to [02e2a0da24].

172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187

			close(_readPipe[0]);
			close(_writePipe[1]);
			dup2(_writePipe[0], 0);
			dup2(_readPipe[1], 1);
			execvp([program cStringWithEncoding: encoding], argv);

			@throw [OFInitializationFailedException
			    exceptionWithClass: [self class]];
		case -1:
			@throw [OFInitializationFailedException
			    exceptionWithClass: [self class]];
		default:
			close(_readPipe[1]);
			close(_writePipe[0]);
			break;







|
<







172
173
174
175
176
177
178
179

180
181
182
183
184
185
186

			close(_readPipe[0]);
			close(_writePipe[1]);
			dup2(_writePipe[0], 0);
			dup2(_readPipe[1], 1);
			execvp([program cStringWithEncoding: encoding], argv);

			_exit(EXIT_FAILURE);

		case -1:
			@throw [OFInitializationFailedException
			    exceptionWithClass: [self class]];
		default:
			close(_readPipe[1]);
			close(_writePipe[0]);
			break;