And here's the modified patch for socketio.cxx Dave Brolley wrote: > Approved by fche and committed with the attached modification to > ensure that all data gets flushed. > > Dave Brolley wrote: > >> Hi, >> >> Debugging multiple cores with multiple instances of GDB within a >> simulation is currently possible by specifying a separate --gdb >> option after each --board and specifying a different port for each >> GDB instance. The simulation ends (as it does without GDB) when the >> first core exits. However, the other GDB instances all report >> "Watchdog expired. Target disconnected". This was because of three >> problems: >> >> 1) The "enabled?", "enable-threshold", "yield-host-time?" and >> "yield-host-time-threshold" of the host scheduler were not being set. >> This caused the host scheduler to yield host time after the first GDB >> stub exited. >> >> 2) The other GDB stubs were not properly notifying their GDB clients >> that they were exiting >> >> 3) Even after proper notfication and yielding were implemented, the >> packets never reached their GDB clients because their socket >> components were never polled again which was because the host >> scheduler was never advanced again which was because the whole shut >> down process was initiated when the first GDB stub drove main's >> "stop!" pin. This problem is corrected by having the sockets do one >> final transmit when their "fini" pins are driven by shutdown-sequence. >> >> The result is an orderly shutdown of the GDB stubs and their clients. >> >> OK to commit? >> >> Dave > > > >