From 65ffc73b4024eae85b0eb054847adadab85f7828 Mon Sep 17 00:00:00 2001 From: zoltan Date: Mon, 1 Mar 2010 22:27:50 +0000 Subject: [PATCH] 2010-03-01 Zoltan Varga * VirtualMachine.cs: Allow working with runtimes implementing a different minor version of the debugger protocol. git-svn-id: svn+ssh://mono-cvs.ximian.com/source/branches/mono-2-6/mcs@152758 e3ebcda4-bce8-0310-ba0a-eca2169e7518 --- class/Mono.Debugger.Soft/Mono.Debugger.Soft/ChangeLog | 5 +++++ class/Mono.Debugger.Soft/Mono.Debugger.Soft/Connection.cs | 6 ++++-- class/Mono.Debugger.Soft/Mono.Debugger.Soft/VirtualMachine.cs | 3 +-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/class/Mono.Debugger.Soft/Mono.Debugger.Soft/ChangeLog b/class/Mono.Debugger.Soft/Mono.Debugger.Soft/ChangeLog index aa2cf8229f..37fce59d67 100644 --- a/class/Mono.Debugger.Soft/Mono.Debugger.Soft/ChangeLog +++ b/class/Mono.Debugger.Soft/Mono.Debugger.Soft/ChangeLog @@ -1,5 +1,10 @@ 2010-03-01 Zoltan Varga + * VirtualMachine.cs: Allow working with runtimes implementing a different + minor version of the debugger protocol. + +2010-03-01 Zoltan Varga + * Connection.cs: Send the protocol version used by the client to the debuggee after the handshake. diff --git a/class/Mono.Debugger.Soft/Mono.Debugger.Soft/Connection.cs b/class/Mono.Debugger.Soft/Mono.Debugger.Soft/Connection.cs index 14936f372d..40b3fd46e1 100644 --- a/class/Mono.Debugger.Soft/Mono.Debugger.Soft/Connection.cs +++ b/class/Mono.Debugger.Soft/Mono.Debugger.Soft/Connection.cs @@ -225,8 +225,10 @@ namespace Mono.Debugger.Soft /* * Th version of the wire-protocol implemented by the library. The library - * and the debuggee can communicate if they implement the same major version, - * and the debuggee's minor version is <= the library's minor version. + * and the debuggee can communicate if they implement the same major version. + * If they implement a different minor version, they can communicate, but some + * features might not be available. This allows older clients to communicate + * with newer runtimes, and vice versa. */ public const int MAJOR_VERSION = 2; public const int MINOR_VERSION = 1; diff --git a/class/Mono.Debugger.Soft/Mono.Debugger.Soft/VirtualMachine.cs b/class/Mono.Debugger.Soft/Mono.Debugger.Soft/VirtualMachine.cs index bc59406c29..b8160781a9 100644 --- a/class/Mono.Debugger.Soft/Mono.Debugger.Soft/VirtualMachine.cs +++ b/class/Mono.Debugger.Soft/Mono.Debugger.Soft/VirtualMachine.cs @@ -196,8 +196,7 @@ namespace Mono.Debugger.Soft // Test the connection VersionInfo ver = conn.Version; - if ((ver.MajorVersion != Connection.MAJOR_VERSION) || - (ver.MinorVersion > Connection.MINOR_VERSION)) + if (ver.MajorVersion != Connection.MAJOR_VERSION) throw new NotSupportedException (String.Format ("The debuggee implements protocol version {0}.{1}, while {2}.{3} is required.", ver.MajorVersion, ver.MinorVersion, Connection.MAJOR_VERSION, Connection.MINOR_VERSION)); long root_domain_id = conn.RootDomain; -- 2.11.4.GIT