console handling
Eric Pouech
eric.pouech at wanadoo.fr
Mon Jan 6 14:40:38 CST 2003
Dimitrie O. Paun wrote:
[info snipped]
thanks for the traces ;-)
ok, winedbg is too slow to respond, so gdb retries with the same packet,
and when winedbg is ready, it's out of sync with gdb...
does the attached hack^H^H^H^Hpatch solve the issue ?
A+
--
Eric Pouech
-------------- next part --------------
Name: wd_gdb
ChangeLog: fixed protocol packet handling when winedbg is too slow to answer
License: X11
GenDate: 2003/01/06 20:39:33 UTC
ModifiedFiles: programs/winedbg/gdbproxy.c
AddedFiles:
===================================================================
RCS file: /home/cvs/cvsroot/wine/wine/programs/winedbg/gdbproxy.c,v
retrieving revision 1.3
diff -u -u -r1.3 gdbproxy.c
--- programs/winedbg/gdbproxy.c 16 Dec 2002 22:10:34 -0000 1.3
+++ programs/winedbg/gdbproxy.c 6 Jan 2003 20:35:03 -0000
@@ -20,6 +20,10 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+/* Protocol specification can be found here:
+ * http://sources.redhat.com/gdb/onlinedocs/gdb_32.html
+ */
+
#include "config.h"
#include <assert.h>
@@ -1788,6 +1792,7 @@
unsigned char in_cksum, loc_cksum;
char* ptr;
enum packet_return ret = packet_error;
+ int num = 0;
while ((ret & packet_last_f) == 0)
{
@@ -1814,6 +1819,7 @@
loc_cksum = checksum(gdbctx->in_buf + 1, plen);
if (loc_cksum == in_cksum)
{
+ if (num == 0) {
int i;
ret = packet_error;
@@ -1857,6 +1863,11 @@
/* if this fails, we'll have to use POLLOUT...
*/
gdbctx->out_len = 0;
+ num++;
+ } else {
+ if (gdbctx->trace & GDBPXY_TRC_LOWLEVEL)
+ fprintf(stderr, "dropping packet, I was too slow to respond\n");
+ }
}
else
{
More information about the wine-devel
mailing list