ObjFW  Check-in [88a34646a4]

Overview
Comment:Make it possible to close an OFProcess for writing.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 88a34646a46c42b9f7bae7ba4bed63ce8c022b1bae9d5d45ef5e89739190ae86
User & Date: js on 2011-10-11 22:30:37
Other Links: manifest | tags
Context
2011-10-11
22:35
OFProcess: Make programName and arguments optional init arguments. check-in: d605361c8b user: js tags: trunk
22:30
Make it possible to close an OFProcess for writing. check-in: 88a34646a4 user: js tags: trunk
22:21
More OFXMLParser optimizations. check-in: 8953d826b4 user: js tags: trunk
Changes

Modified src/OFProcess.h from [7fb49d4ac9] to [49a6b170dc].

54
55
56
57
58
59
60









61
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70







+
+
+
+
+
+
+
+
+

 *		      Usually, this is equal to program.
 * \param arguments The arguments to pass to the program, or nil
 * \return An initialized OFProcess.
 */
- initWithProgram: (OFString*)program
      programName: (OFString*)programName
	arguments: (OFArray*)arguments;

/**
 * \brief Closes the write direction of the process.
 *
 * This method needs to be called for some programs before data can be read,
 * since some programs don't start processing before the write direction is
 * closed.
 */
- (void)closeForWriting;
@end

Modified src/OFProcess.m from [eb421acf0f] to [7e13a65e14].

134
135
136
137
138
139
140








141
142
143
144
145
146
147
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155







+
+
+
+
+
+
+
+







}

/*
 * FIXME: Add -[fileDescriptor]. The problem is that we have two FDs, which is
 *	  not yet supported by OFStreamObserver. This has to be split into one
 *	  FD for reading and one for writing.
 */

- (void)closeForWriting
{
	if (writePipe[1] != -1)
		close(writePipe[1]);

	writePipe[1] = -1;
}

- (void)close
{
	if (readPipe[0] != -1)
		close(readPipe[0]);
	if (writePipe[1] != -1)
		close(writePipe[1]);