<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Sep 1, 2010, at 10:09 AM, cee1 wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div class="gmail_quote">2010/9/1 Robert Watson <span dir="ltr">&lt;<a href="mailto:robert@fledge.watson.org" target="_blank">robert@fledge.watson.org</a>&gt;</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<br>
This seemed to work quite well -- the one real downside to the current GCD API is that it required a moderate amount of book-keeping in the consumer to handle suspending dispatch sources. &nbsp;</blockquote><div>Do we need some APIs like putting a set of sources in a group, and then can suspend/resume them all?</div></div></blockquote><div><br></div>I don't see why we should. GCD would end up implementing the same trivial code the end developer would: a few lines of code wrapping a dictionary (a.k.a. hash-table / associative-array) or an array of sources.</div><div><br></div><div><blockquote type="cite"><div class="gmail_quote">

<div>Also libdispatch will not remove/disable a kevent associating with suspending sources, implementing that feature may incur some overhead(Since we need check all sources associating with a kevent).</div></div>
</blockquote><br></div><div>If that ever becomes a problem in practice, we can change the code.</div><div><br></div><div>davez</div><br></body></html>