ObjFW  Check-in [c2bf5b0410]

Overview
Comment:Fix subprocesses
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: c2bf5b0410d18db09d323de8ad24f3af6efc3c6adf35782c1772a960950888d0
User & Date: js on 2021-12-13 01:49:32
Other Links: manifest | tags
Context
2021-12-13
03:40
Use posix_spawn() on macOS check-in: 0da6a13999 user: js tags: trunk
01:49
Fix subprocesses check-in: c2bf5b0410 user: js tags: trunk
2021-12-07
19:01
Use UINT*_C for swap macros check-in: de72eaa6ea user: js tags: trunk
Changes

Modified src/Makefile from [28e2acebcc] to [a18929d7e2].

86
87
88
89
90
91
92
93

94
95
96
97
98
99
100
86
87
88
89
90
91
92

93
94
95
96
97
98
99
100







-
+







       OFString+CryptographicHashing.m	\
       OFString+JSONParsing.m		\
       OFString+PropertyListParsing.m	\
       OFString+Serialization.m		\
       OFString+URLEncoding.m		\
       OFString+XMLEscaping.m		\
       OFString+XMLUnescaping.m		\
       ${OF_SUBUPROCESS_M}		\
       ${OF_SUBPROCESS_M}		\
       OFSystemInfo.m			\
       OFTarArchive.m			\
       OFTarArchiveEntry.m		\
       OFThread.m			\
       OFTimer.m			\
       OFTriple.m			\
       OFURL.m				\

Modified src/OFSubprocess.h from [a6ce8bbc81] to [d24f2e33e1].

76
77
78
79
80
81
82
83

84
85
86
87
88
89
90
76
77
78
79
80
81
82

83
84
85
86
87
88
89
90







-
+







 *
 * @param program The program to execute. If it does not start with a slash, the
 *		  search path specified in PATH is used.
 * @param arguments The arguments to pass to the program, or `nil`
 * @return A new, autoreleased OFSubprocess.
 */
+ (instancetype)
    subProcessWithProgram: (OFString *)program
    subprocessWithProgram: (OFString *)program
		arguments: (nullable OFArray OF_GENERIC(OFString *) *)arguments;

/**
 * @brief Creates a new OFSubprocess with the specified program, program name
 *	  and arguments and invokes the program.
 *
 * @param program The program to execute. If it does not start with a slash, the

Modified src/objfw-defs.h.in from [a0cd235af2] to [69a2e4862c].

20
21
22
23
24
25
26
27

28
29
30
31
32
33
34
20
21
22
23
24
25
26

27
28
29
30
31
32
33
34







-
+







#undef OF_HAVE_NETINET_TCP_H
#undef OF_HAVE_NETIPX_IPX_H
#undef OF_HAVE_OSATOMIC
#undef OF_HAVE_OSATOMIC_64
#undef OF_HAVE_PIPE
#undef OF_HAVE_PLEDGE
#undef OF_HAVE_PLUGINS
#undef OF_HAVE_PROCESSES
#undef OF_HAVE_SUBPROCESSES
#undef OF_HAVE_PTHREADS
#undef OF_HAVE_PTHREAD_SPINLOCKS
#undef OF_HAVE_RECURSIVE_PTHREAD_MUTEXES
#undef OF_HAVE_SCHED_YIELD
#undef OF_HAVE_SOCKETS
#undef OF_HAVE_STDNORETURN
#undef OF_HAVE_SYMLINK

Modified src/platform/POSIX/OFSubprocess.m from [aae58c0f9a] to [76a63f5978].

205
206
207
208
209
210
211

212
213


214
215
216
217
218
219
220
205
206
207
208
209
210
211
212


213
214
215
216
217
218
219
220
221







+
-
-
+
+







		} @finally {
			char **iter;

			close(_readPipe[1]);
			close(_writePipe[0]);
			OFFreeMemory(argv);

			if (env != NULL)
			for (iter = env; *iter != NULL; iter++)
				OFFreeMemory(*iter);
				for (iter = env; *iter != NULL; iter++)
					OFFreeMemory(*iter);

			OFFreeMemory(env);
		}

		objc_autoreleasePoolPop(pool);
	} @catch (id e) {
		[self release];