On Tue, Jan 22, 2002 at 01:54:50AM -0500, Allen Smith wrote: > On Jan 22, 1:51am, Joshua N Pritikin wrote: > > Uh, OK. How's this patch? > > Well, once I managed to decipher the attachment (unknown-8bit is not a > helpful character set...),
Hrm .. mutt's fault? > OK, except that I thought that async prio was -1, not 5? i'm talking about async watchers not async priority. > The reference to StarvePrio > that I was wondering about originally is in the description of > one_event: > > one_event([$timeout]) > If any events are outstanding then invoke the > corresponding callback of the highest priority event. > If there are no events available, block forever or until > $timeout. Use of this API is not recommended because it > is not efficient and does not trap exceptions. However, > you might wish to understand how it works: > > 1 Queue asyncronous events (signals, etc). > > 2 If there are any events with priority 5 or less (see > StarvePrio) then service the next one and return. > > 3 Calculate the maximum wait time (minimum time till > the next timer expiration) and pass control to the > poll/select system call. Upon return, queue all > pending events. > > 4 Queue asyncronous events again. > > 5 If there are any events then service the next one > and return. > > 6 Service the next idle watcher. Yes. The point is that step (2) can completely short-circuit step (3). -- Victory to the Divine Mother!! after all, http://sahajayoga.org http://why-compete.org