ObjFW  Diff

Differences From Artifact [0c63190dd8]:

To Artifact [9e9d5309f1]:


262
263
264
265
266
267
268

269





270

271
272






273

274
275






276
277
278
262
263
264
265
266
267
268
269

270
271
272
273
274
275
276


277
278
279
280
281
282
283
284


285
286
287
288
289
290
291
292
293







+
-
+
+
+
+
+

+
-
-
+
+
+
+
+
+

+
-
-
+
+
+
+
+
+



	if (_waitingTask != NULL) {
		Signal(_waitingTask, (1ul << _cancelSignal));
		_waitingTask = NULL;
	}

	Permit();
#elif defined(OF_HAVE_PIPE)
	do {
	OFEnsure(write(_cancelFD[1], "", 1) > 0);
		if (write(_cancelFD[1], "", 1) == 1)
			break;

		OFEnsure(errno == EINTR);
	} while (true);
#elif defined(OF_WII)
	do {
	OFEnsure(sendto(_cancelFD[1], "", 1, 0,
	    (struct sockaddr *)&_cancelAddr, 8) > 0);
		if (sendto(_cancelFD[1], "", 1, 0,
		    (struct sockaddr *)&_cancelAddr, 8) == 1)
			break;

		OFEnsure(OFSocketErrNo() == EINTR);
	} while (true);
#else
	do {
	OFEnsure(sendto(_cancelFD[1], (void *)"", 1, 0,
	    (struct sockaddr *)&_cancelAddr, sizeof(_cancelAddr)) > 0);
		if (sendto(_cancelFD[1], (void *)"", 1, 0,
		    (struct sockaddr *)&_cancelAddr, sizeof(_cancelAddr)) == 1)
			break;

		OFEnsure(OFSocketErrNo() == EINTR);
	} while (true);
#endif
}
@end