Hi,<div><br></div><div>Just as a preface, I've been attempting to get the codebase running under leopard and / or Linux. In the process, I've been using the makefiles. I've gotten to the point where I can run lldb under Leopard, but I can't debug any programs because debugserver won't build yet. While fixing small warnings / errors in the code base, I came across this piece of code at <b>line 422</b> in <b>tools/debugserver/source/RNBRemote.cpp</b>:</div>
<div><br></div><div>The set of two while loops is not standard C and this looks alot like a deadlock possibility. I don't know enough right now to fix this however.</div><div><br></div><div>Enjoy,</div><div>Bill Lynch</div>
<div><br></div><div><div>        while ((set_events = events.WaitForSetEvents(events_to_wait_for)) != 0)</div><div>        {</div><div>            if (set_events & RNBContext::event_read_packet_available)</div><div>            {</div>
<div>                // Try the queue again now that we got an event</div><div>                err = GetPacketPayload (payload);</div><div>                if (err == rnb_success)</div><div>                    break;</div>
<div>            }</div><div><br></div><div>            if (set_events & RNBContext::event_read_thread_exiting)</div><div>                err = rnb_not_connected;</div><div><br></div><div>            if (err == rnb_not_connected)</div>
<div>                return err;</div><div><br></div><div>        } while (err == rnb_err);</div></div>