ObjFW  Check-in [aa5b44f36e]

Overview
Comment:OFEpollKernelEventObserver: Minor cleanup
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: aa5b44f36e2472807409932bce76569a900ae687bbb224e6331ecb53a7f322a9
User & Date: js on 2019-07-27 10:15:53
Other Links: manifest | tags
Context
2019-07-27
11:40
configure: Define _GNU_SOURCE on MorphOS check-in: 93363f455e user: js tags: trunk
10:15
OFEpollKernelEventObserver: Minor cleanup check-in: aa5b44f36e user: js tags: trunk
00:19
ofarc: Support for std{in,out} when specifying "-" check-in: 1bcd504f42 user: js tags: trunk
Changes

Modified src/OFEpollKernelEventObserver.m from [57b7e47f90] to [5cdf80c1e6].

195
196
197
198
199
200
201



202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
	    (timeInterval != -1 ? timeInterval * 1000 : -1));

	if (events < 0)
		@throw [OFObserveFailedException exceptionWithObserver: self
								 errNo: errno];

	for (int i = 0; i < events; i++) {



		if (eventList[i].data.ptr == nullObject) {
			char buffer;

			assert(eventList[i].events == EPOLLIN);
			OF_ENSURE(read(_cancelFD[0], &buffer, 1) == 1);

			continue;
		}

		if (eventList[i].events & EPOLLIN) {
			void *pool = objc_autoreleasePoolPush();

			if ([_delegate respondsToSelector:
			    @selector(objectIsReadyForReading:)])
				[_delegate objectIsReadyForReading:
				    eventList[i].data.ptr];

			objc_autoreleasePoolPop(pool);
		}

		if (eventList[i].events & EPOLLOUT) {
			void *pool = objc_autoreleasePoolPush();

			if ([_delegate respondsToSelector:
			    @selector(objectIsReadyForWriting:)])
				[_delegate objectIsReadyForWriting:
				    eventList[i].data.ptr];

			objc_autoreleasePoolPop(pool);
		}

		assert((eventList[i].events & ~(EPOLLIN | EPOLLOUT)) == 0);
	}
}
@end







>
>
>
|
|
<
<
|
<
|
|
<
<
<



















<
<



195
196
197
198
199
200
201
202
203
204
205
206


207

208
209



210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228


229
230
231
	    (timeInterval != -1 ? timeInterval * 1000 : -1));

	if (events < 0)
		@throw [OFObserveFailedException exceptionWithObserver: self
								 errNo: errno];

	for (int i = 0; i < events; i++) {
		if (eventList[i].events & EPOLLIN) {
			void *pool = objc_autoreleasePoolPush();

			if (eventList[i].data.ptr == nullObject) {
				char buffer;


				OF_ENSURE(read(_cancelFD[0], &buffer, 1) == 1);

				continue;
			}




			if ([_delegate respondsToSelector:
			    @selector(objectIsReadyForReading:)])
				[_delegate objectIsReadyForReading:
				    eventList[i].data.ptr];

			objc_autoreleasePoolPop(pool);
		}

		if (eventList[i].events & EPOLLOUT) {
			void *pool = objc_autoreleasePoolPush();

			if ([_delegate respondsToSelector:
			    @selector(objectIsReadyForWriting:)])
				[_delegate objectIsReadyForWriting:
				    eventList[i].data.ptr];

			objc_autoreleasePoolPop(pool);
		}


	}
}
@end