/* Process messages from both sockets, prioritizing the task vent. *//* Could fair queue by checking each socket for activity in turn, rather* than continuing to service the current socket as long as it is busy. */struct timespec msec = {0, MSEC_PER_NSEC};for (;;) {/* Worst case: a task is always pending and we never get to weather,* or vice versa. In such a case, memory use would rise without* limit if we did not ensure the objects autoreleased by a single loop* will be autoreleased whether we leave or continue in the loop. */NSAutoreleasePool *p;