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>