Author: toshok
Date: 2005-03-02 23:14:20 -0500 (Wed, 02 Mar 2005)
New Revision: 41378

Removed:
   trunk/debugger/backends/server/Debugger.idl
   trunk/debugger/backends/server/debugger-srv.c
   trunk/debugger/backends/server/debugger-srv.h
   trunk/debugger/backends/server/remote-client.c
   trunk/debugger/backends/server/remote-server.c
Modified:
   trunk/debugger/ChangeLog
   trunk/debugger/backends/server/Makefile.am
   trunk/debugger/backends/server/library.c
   trunk/debugger/configure.in
Log:
2005-03-02  Chris Toshok  <[EMAIL PROTECTED]>

        * backends/server/Makefile.am: clean this up substantially, since
        we're no longer building the orbit stuff.

        * backends/server/library.c (mono_debugger_server_initialize):
        remove the MARTIN_HACKS stuff.

        * configure.in: remove the MARTIN_HACKS orbit stuff.

        * backends/server/remote-server.c,
        * backends/server/debugger-srv.c,
        backends/server/debugger-srv.h, backends/server/remote-client.c,
        backends/server/Debugger.idl: nuke.



Modified: trunk/debugger/ChangeLog
===================================================================
--- trunk/debugger/ChangeLog    2005-03-02 22:29:16 UTC (rev 41377)
+++ trunk/debugger/ChangeLog    2005-03-03 04:14:20 UTC (rev 41378)
@@ -1,3 +1,17 @@
+2005-03-02  Chris Toshok  <[EMAIL PROTECTED]>
+
+       * backends/server/Makefile.am: clean this up substantially, since
+       we're no longer building the orbit stuff.
+
+       * backends/server/library.c (mono_debugger_server_initialize):
+       remove the MARTIN_HACKS stuff.
+
+       * configure.in: remove the MARTIN_HACKS orbit stuff.
+
+       * backends/server/remote-server.c, backends/server/debugger-srv.c,
+       backends/server/debugger-srv.h, backends/server/remote-client.c,
+       backends/server/Debugger.idl: nuke.
+
 2005-02-25  Chris Toshok  <[EMAIL PROTECTED]>
 
        * interfaces/ITargetObject.cs (ITargetObject.TypeInfo): rename

Deleted: trunk/debugger/backends/server/Debugger.idl
===================================================================
--- trunk/debugger/backends/server/Debugger.idl 2005-03-02 22:29:16 UTC (rev 
41377)
+++ trunk/debugger/backends/server/Debugger.idl 2005-03-03 04:14:20 UTC (rev 
41378)
@@ -1,124 +0,0 @@
-module Debugger
-{
-       enum ErrorCondition {
-               Unknown,
-               NoInferior,
-               AlreadyHaveInferior,
-               Fork,
-               NotStopped,
-               AlreadyStopped,
-               RecursiveCall,
-               NoSuchBreakpoint,
-               UnknownRegister,
-               MemoryAccess,
-               NotImplemented
-       };
-
-       typedef long long Address;
-
-       exception Error {
-               ErrorCondition condition;
-       };
-
-       exception ForkFailed {
-               string message;
-       };
-
-       struct Register {
-               long Index;
-               Address Value;
-       };
-
-       struct StackFrame {
-               Address Frame;
-               Address FrameAddress;
-       };
-
-       struct TargetInfo {
-               short IntSize;
-               short LongSize;
-               short AddressSize;
-               boolean IsBigEndian;
-       };
-
-       typedef sequence<string> stringList;
-       typedef sequence<octet> Blob;
-       typedef sequence<Register> RegisterList;
-       typedef sequence<StackFrame> StackFrameList;
-
-       interface Thread
-       {
-               long DispatchEvent (in long status, out Address arg,
-                                   out Address data1, out Address data2);
-
-               Address GetFrame ()
-                       raises (Error);
-
-               boolean CurrentInsnIsBreakpoint ()
-                       raises (Error);
-
-               void Step ()
-                       raises (Error);
-
-               void Continue ()
-                       raises (Error);
-
-               void Detach ()
-                       raises (Error);
-
-               long PeekWord (in Address address)
-                       raises (Error);
-
-               Blob ReadMemory (in Address address, in long size)
-                       raises (Error);
-
-               void WriteMemory (in Address address, in Blob data)
-                       raises (Error);
-
-               long InsertBreakpoint (in Address address)
-                       raises (Error);
-
-               long InsertHardwareBreakpoint (in long index, in Address 
address)
-                       raises (Error);
-
-               void RemoveBreakpoint (in long index)
-                       raises (Error);
-
-               void EnableBreakpoint (in long index)
-                       raises (Error);
-
-               void DisableBreakpoint (in long index)
-                       raises (Error);
-
-               void GetRegisters (inout RegisterList registers)
-                       raises (Error);
-
-               void SetRegisters (inout RegisterList registers)
-                       raises (Error);
-
-               Address GetReturnAddress ()
-                       raises (Error);
-
-               StackFrameList GetBacktrace (in long MaxFrames, in Address 
StopAddress)
-                       raises (Error);
-
-               void Stop ()
-                       raises (Error);
-
-               long StopAndWait ()
-                       raises (Error);
-       };
-
-       interface Manager
-       {
-               Thread Spawn (in string workingDirectory,
-                             in stringList argv, in stringList envp,
-                             out long pid)
-                       raises (ForkFailed);
-
-               Thread Attach (in long pid, out long tid)
-                       raises (Error);
-
-               TargetInfo GetTargetInfo ();
-       };
-};

Modified: trunk/debugger/backends/server/Makefile.am
===================================================================
--- trunk/debugger/backends/server/Makefile.am  2005-03-02 22:29:16 UTC (rev 
41377)
+++ trunk/debugger/backends/server/Makefile.am  2005-03-03 04:14:20 UTC (rev 
41378)
@@ -12,48 +12,21 @@
        i386-ptrace.c                   \
        i386-ptrace.h
 
-if MARTIN_HACKS
-martin_hack_srclist = \
-       remote-client.c         \
-       Debugger-stubs.c        \
-       Debugger-common.c
-
-martin_hack_progs = debugger-remote-server
-
-Debugger-stubs.c Debugger-common.c Debugger-skels.c Debugger.h : Debugger.idl
-       orbit-idl-2 $(srcdir)/Debugger.idl
-else
-martin_hack_srclist =
-martin_hack_progs =
-endif
-
 if PLATFORM_POWERPC
-server_sources = powerpc-darwin.c
+platform_sources = powerpc-darwin.c
 else
-server_sources = i386-ptrace.c
+platform_sources = i386-ptrace.c
 endif
 
-libexec_PROGRAMS = \
-       $(martin_hack_progs)
-
-debugger_remote_server_SOURCES = \
-       remote-server.c         \
-       debugger-srv.c          \
-       Debugger-skels.c
-
 libmonodebuggerserver_la_SOURCES = \
        server.h                \
        library.c               \
-       $(martin_hack_srclist)  \
-       $(server_sources)       \
+       $(platform_sources)     \
        breakpoints.c           \
        breakpoints.h           \
        mutex.c                 \
        mutex.h
 
-debugger_remote_server_LDADD = @SERVER_DEPENDENCIES_LIBS@ 
libmonodebuggerserver.la
-debugger_remote_server_LDFLAGS = -static
-
 libmonodebuggerserver_la_LIBADD = \
        @SERVER_DEPENDENCIES_LIBS@ \
        ../../arch/libmonodebuggerbfdglue.la

Deleted: trunk/debugger/backends/server/debugger-srv.c
===================================================================
--- trunk/debugger/backends/server/debugger-srv.c       2005-03-02 22:29:16 UTC 
(rev 41377)
+++ trunk/debugger/backends/server/debugger-srv.c       2005-03-03 04:14:20 UTC 
(rev 41378)
@@ -1,373 +0,0 @@
-#include <config.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <debugger-srv.h>
-#include <orbit/poa/orbit-adaptor.h>
-#include <pthread.h>
-
-#if defined(__POWERPC__)
-extern InferiorVTable powerpc_darwin_inferior;
-InferiorVTable *global_vtable = &powerpc_darwin_inferior;
-#else
-extern InferiorVTable i386_ptrace_inferior;
-InferiorVTable *global_vtable = &i386_ptrace_inferior;
-#endif
-
-typedef struct
-{
-       POA_Debugger_Thread servant;
-       PortableServer_POA poa;
-       ServerHandle *handle;
-} impl_POA_Debugger_Thread;
-
-static CORBA_long
-do_dispatch_event (impl_POA_Debugger_Thread *servant, const CORBA_long status,
-                  Debugger_Address *arg, Debugger_Address *data1, 
Debugger_Address *data2,
-                  CORBA_Environment *ev)
-{
-       CHECK_VTABLE_RET (dispatch_event, -1);
-
-       return global_vtable->dispatch_event (servant->handle, status, arg, 
data1, data2);
-}
-
-static Debugger_Address
-do_get_frame (impl_POA_Debugger_Thread *servant, CORBA_Environment *ev)
-{
-       ServerCommandError result;
-       guint64 pc;
-
-       CHECK_VTABLE_RET (get_pc, -1);
-       result = global_vtable->get_pc (servant->handle, &pc);
-       CHECK_RESULT_RET (-1);
-       return pc;
-}
-
-static CORBA_boolean
-do_current_insn_is_bpt (impl_POA_Debugger_Thread *servant, CORBA_Environment 
*ev)
-{
-       ServerCommandError result;
-       guint32 ret;
-
-       CHECK_VTABLE_RET (current_insn_is_bpt, FALSE);
-       result = global_vtable->current_insn_is_bpt (servant->handle, &ret);
-       CHECK_RESULT_RET (FALSE);
-       return ret != 0;
-}
-
-static void
-do_step (impl_POA_Debugger_Thread *servant, CORBA_Environment *ev)
-{
-       ServerCommandError result;
-
-       CHECK_VTABLE (step);
-       result = global_vtable->step (servant->handle);
-       CHECK_RESULT;
-}
-
-static void
-do_continue (impl_POA_Debugger_Thread *servant, CORBA_Environment *ev)
-{
-       ServerCommandError result;
-
-       CHECK_VTABLE (run);
-       result = global_vtable->run (servant->handle);
-       CHECK_RESULT;
-}
-
-static void
-do_detach (impl_POA_Debugger_Thread *servant, CORBA_Environment *ev)
-{
-       ServerCommandError result;
-
-       CHECK_VTABLE (detach);
-       result = global_vtable->detach (servant->handle);
-       CHECK_RESULT;
-}
-
-static CORBA_long
-do_peek_word (impl_POA_Debugger_Thread *servant, const Debugger_Address addr,
-             CORBA_Environment *ev)
-{
-       ServerCommandError result;
-       guint32 word;
-
-       CHECK_VTABLE_RET (peek_word, 0);
-       result = global_vtable->peek_word (servant->handle, addr, &word);
-       CHECK_RESULT_RET (0);
-       return word;
-}
-
-static Debugger_Blob *
-do_read_memory (impl_POA_Debugger_Thread *servant, const Debugger_Address 
address,
-               const CORBA_long size, CORBA_Environment *ev)
-{
-       ServerCommandError result;
-       Debugger_Blob *blob;
-
-       CHECK_VTABLE_RET (read_memory, NULL);
-
-       blob = Debugger_Blob__alloc ();
-       blob->_length = blob->_maximum = size;
-       blob->_buffer = Debugger_Blob_allocbuf (size);
-       result = global_vtable->read_memory (servant->handle, address, size, 
blob->_buffer);
-       if (result != COMMAND_ERROR_NONE)
-               CORBA_free (blob);
-       CHECK_RESULT_RET (NULL);
-       return blob;
-}
-
-static void
-do_write_memory (impl_POA_Debugger_Thread *servant, const Debugger_Address 
address,
-                const Debugger_Blob *data, CORBA_Environment *ev)
-{
-       ServerCommandError result;
-
-       CHECK_VTABLE (write_memory);
-       result = global_vtable->write_memory (
-               servant->handle, address, data->_length, data->_buffer);
-       CHECK_RESULT;
-}
-
-static CORBA_long
-do_insert_breakpoint (impl_POA_Debugger_Thread *servant, const 
Debugger_Address address,
-                     CORBA_Environment *ev)
-{
-       ServerCommandError result;
-       guint32 breakpoint;
-
-       CHECK_VTABLE_RET (insert_breakpoint, -1);
-       result = global_vtable->insert_breakpoint (servant->handle, address, 
&breakpoint);
-       CHECK_RESULT_RET (-1);
-       return breakpoint;
-}
-
-static CORBA_long
-do_insert_hw_breakpoint (impl_POA_Debugger_Thread *servant, const CORBA_long 
index,
-                        const Debugger_Address address, CORBA_Environment *ev)
-{
-       ServerCommandError result;
-       guint32 breakpoint;
-
-       CHECK_VTABLE_RET (insert_hw_breakpoint, -1);
-       result = global_vtable->insert_hw_breakpoint (
-               servant->handle, index, address, &breakpoint);
-       CHECK_RESULT_RET (-1);
-       return breakpoint;
-}
-
-static void
-do_remove_breakpoint (impl_POA_Debugger_Thread *servant, const CORBA_long 
index,
-                     CORBA_Environment * ev)
-{
-       ServerCommandError result;
-
-       CHECK_VTABLE (remove_breakpoint);
-       result = global_vtable->remove_breakpoint (servant->handle, index);
-       CHECK_RESULT;
-}
-
-static void
-do_enable_breakpoint (impl_POA_Debugger_Thread *servant, const CORBA_long 
index,
-                     CORBA_Environment * ev)
-{
-       ServerCommandError result;
-
-       CHECK_VTABLE (enable_breakpoint);
-       result = global_vtable->enable_breakpoint (servant->handle, index);
-       CHECK_RESULT;
-}
-
-static void
-do_disable_breakpoint (impl_POA_Debugger_Thread *servant, const CORBA_long 
index,
-                      CORBA_Environment * ev)
-{
-       ServerCommandError result;
-
-       CHECK_VTABLE (disable_breakpoint);
-       result = global_vtable->disable_breakpoint (servant->handle, index);
-       CHECK_RESULT;
-}
-
-static void
-do_get_registers (impl_POA_Debugger_Thread *servant, Debugger_RegisterList 
*list,
-                 CORBA_Environment *ev)
-{
-       ServerCommandError result;
-       guint32 *registers;
-       guint64 *values;
-       int i;
-
-       CHECK_VTABLE (get_registers);
-       registers = g_new0 (guint32, list->_length);
-       values = g_new0 (guint64, list->_length);
-       for (i = 0; i < list->_length; i++)
-               registers [i] = list->_buffer [i].Index;
-
-       result = global_vtable->get_registers (
-               servant->handle, list->_length, registers, values);
-       if (result != COMMAND_ERROR_NONE) {
-               g_free (registers);
-               g_free (values);
-       }
-       CHECK_RESULT;
-
-       for (i = 0; i < list->_length; i++)
-               list->_buffer [i].Value = values [i];
-
-       g_free (registers);
-       g_free (values);
-}
-
-static void
-do_set_registers (impl_POA_Debugger_Thread *servant, Debugger_RegisterList 
*list,
-                 CORBA_Environment *ev)
-{
-       ServerCommandError result;
-       guint32 *registers;
-       guint64 *values;
-       int i;
-
-       CHECK_VTABLE (set_registers);
-       registers = g_new0 (guint32, list->_length);
-       values = g_new0 (guint64, list->_length);
-       for (i = 0; i < list->_length; i++) {
-               registers [i] = list->_buffer [i].Index;
-               values [i] = list->_buffer [i].Value;
-       }
-
-       result = global_vtable->set_registers (
-               servant->handle, list->_length, registers, values);
-       g_free (registers);
-       g_free (values);
-       CHECK_RESULT;
-}
-
-static Debugger_Address
-do_get_return_addr (impl_POA_Debugger_Thread *servant, CORBA_Environment *ev)
-{
-       ServerCommandError result;
-       guint64 addr;
-
-       CHECK_VTABLE_RET (get_ret_address, -1);
-       result = global_vtable->get_ret_address (servant->handle, &addr);
-       CHECK_RESULT_RET (-1);
-       return addr;
-}
-
-static Debugger_StackFrameList *
-do_get_backtrace (impl_POA_Debugger_Thread *servant, const CORBA_long 
MaxFrames,
-                 const Debugger_Address StopAddress, CORBA_Environment * ev)
-{
-       ServerCommandError result;
-       Debugger_StackFrameList *list;
-       StackFrame *frames = NULL;
-       guint32 count, i;
-
-       CHECK_VTABLE_RET (get_backtrace, NULL);
-       result = global_vtable->get_backtrace (
-               servant->handle, MaxFrames, StopAddress, &count, &frames);
-       CHECK_RESULT_RET (NULL);
-
-       list = Debugger_StackFrameList__alloc ();
-       list->_length = list->_maximum = count;
-       list->_buffer = Debugger_StackFrameList_allocbuf (count);
-
-       for (i = 0; i < count; i++) {
-               list->_buffer [i].Frame = frames [i].address;
-               list->_buffer [i].FrameAddress = frames [i].frame_address;
-       }
-
-       g_free (frames);
-
-       return list;    
-}
-
-static void
-do_stop (impl_POA_Debugger_Thread *servant, CORBA_Environment *ev)
-{
-       ServerCommandError result;
-
-       CHECK_VTABLE (stop);
-       result = global_vtable->stop (servant->handle);
-       CHECK_RESULT;
-}
-
-static CORBA_long_long
-do_stop_and_wait (impl_POA_Debugger_Thread *servant, CORBA_Environment *ev)
-{
-       ServerCommandError result;
-       CORBA_long status;
-
-       CHECK_VTABLE_RET (stop_and_wait, -1);
-       result = global_vtable->stop_and_wait (servant->handle, &status);
-       CHECK_RESULT_RET (-1);
-       return status;
-}
-
-static void
-impl_Debugger_Thread__fini (impl_POA_Debugger_Thread *servant, 
CORBA_Environment *ev)
-{
-       CORBA_Object_release ((CORBA_Object) servant->poa, ev);
-
-       global_vtable->finalize (servant->handle);
-
-       POA_Debugger_Thread__fini ((PortableServer_Servant) servant, ev);
-       g_free (servant);
-}
-
-PortableServer_ServantBase__epv debugger_thread_base_epv = {
-       NULL,
-       (gpointer) &impl_Debugger_Thread__fini,
-       NULL
-};
-
-POA_Debugger_Thread__epv debugger_thread_epv = {
-       NULL,
-       (gpointer) &do_dispatch_event,
-       (gpointer) &do_get_frame,
-       (gpointer) &do_current_insn_is_bpt,
-       (gpointer) &do_step,
-       (gpointer) &do_continue,
-       (gpointer) &do_detach,
-       (gpointer) &do_peek_word,
-       (gpointer) &do_read_memory,
-       (gpointer) &do_write_memory,
-       (gpointer) &do_insert_breakpoint,
-       (gpointer) &do_insert_hw_breakpoint,
-       (gpointer) &do_remove_breakpoint,
-       (gpointer) &do_enable_breakpoint,
-       (gpointer) &do_disable_breakpoint,
-       (gpointer) &do_get_registers,
-       (gpointer) &do_set_registers,
-       (gpointer) &do_get_return_addr,
-       (gpointer) &do_get_backtrace,
-       (gpointer) &do_stop,
-       (gpointer) &do_stop_and_wait
-};
-
-POA_Debugger_Thread__vepv poa_debugger_thread_vepv = {
-       &debugger_thread_base_epv, &debugger_thread_epv
-};
-
-Debugger_Thread
-debugger_srv_start_object (ServerHandle *handle, CORBA_Environment *ev)
-{
-       impl_POA_Debugger_Thread *newservant;
-       PortableServer_ObjectId *objid;
-
-       newservant = g_new0 (impl_POA_Debugger_Thread, 1);
-       newservant->servant.vepv = &poa_debugger_thread_vepv;
-       newservant->poa = (PortableServer_POA) CORBA_Object_duplicate (
-               (CORBA_Object) the_poa, ev);
-       POA_Debugger_Thread__init ((PortableServer_Servant) newservant, ev);
-
-       newservant->handle = handle;
-
-       objid = PortableServer_POA_activate_object (the_poa, newservant, ev);
-       CORBA_free (objid);
-
-       return PortableServer_POA_servant_to_reference (the_poa, newservant, 
ev);
-}
-

Deleted: trunk/debugger/backends/server/debugger-srv.h
===================================================================
--- trunk/debugger/backends/server/debugger-srv.h       2005-03-02 22:29:16 UTC 
(rev 41377)
+++ trunk/debugger/backends/server/debugger-srv.h       2005-03-03 04:14:20 UTC 
(rev 41378)
@@ -1,50 +0,0 @@
-#include <server.h>
-#include <Debugger.h>
-
-G_BEGIN_DECLS
-
-extern CORBA_ORB orb;
-extern PortableServer_POA rootpoa;
-extern PortableServer_POA the_poa;
-extern Debugger_Manager debugger_manager;
-
-extern InferiorVTable *global_vtable;
-
-#define CHECK_VTABLE(name) \
-       if (!global_vtable->name) { \
-               CORBA_exception_set_system (ev, ex_CORBA_NO_IMPLEMENT, 
CORBA_COMPLETED_NO); \
-               return; \
-       }
-
-#define CHECK_RESULT \
-       if (result != COMMAND_ERROR_NONE) {                             \
-               Debugger_Error *ex = Debugger_Error__alloc ();          \
-               ex->condition = result;                                 \
-               CORBA_exception_set (ev, CORBA_USER_EXCEPTION, 
ex_Debugger_Error, ex); \
-               return;                                                 \
-       }
-
-#define CHECK_VTABLE_RET(name,ret) \
-       if (!global_vtable->name) { \
-               CORBA_exception_set_system (ev, ex_CORBA_NO_IMPLEMENT, 
CORBA_COMPLETED_NO); \
-               return ret; \
-       }
-
-#define CHECK_RESULT_RET(ret) \
-       if (result != COMMAND_ERROR_NONE) {                             \
-               Debugger_Error *ex = Debugger_Error__alloc ();          \
-               ex->condition = result;                                 \
-               CORBA_exception_set (ev, CORBA_USER_EXCEPTION, 
ex_Debugger_Error, ex); \
-               return ret;                                             \
-       }
-
-Debugger_Thread
-debugger_srv_start_object (ServerHandle *handle, CORBA_Environment *ev);
-
-void
-debugger_srv_finish_object (CORBA_Environment *ev);
-
-void
-debugger_srv_finish_poa (CORBA_Environment *ev);
-
-G_END_DECLS

Modified: trunk/debugger/backends/server/library.c
===================================================================
--- trunk/debugger/backends/server/library.c    2005-03-02 22:29:16 UTC (rev 
41377)
+++ trunk/debugger/backends/server/library.c    2005-03-03 04:14:20 UTC (rev 
41378)
@@ -19,23 +19,11 @@
 extern InferiorVTable i386_ptrace_inferior;
 static InferiorVTable *global_vtable = &i386_ptrace_inferior;
 #endif
-#if MARTIN_HACKS
-extern InferiorVTable remote_client_inferior;
-#endif
 
 ServerHandle *
 mono_debugger_server_initialize (BreakpointManager *breakpoint_manager)
 {
-#if MARTIN_HACKS
-       const gchar *remote_var = g_getenv ("MONO_DEBUGGER_REMOTE");
-
-       if (remote_var)
-               global_vtable = &remote_client_inferior;
-
        return global_vtable->initialize (breakpoint_manager);
-#else
-       return global_vtable->initialize (breakpoint_manager);
-#endif
 }
 
 guint64

Deleted: trunk/debugger/backends/server/remote-client.c
===================================================================
--- trunk/debugger/backends/server/remote-client.c      2005-03-02 22:29:16 UTC 
(rev 41377)
+++ trunk/debugger/backends/server/remote-client.c      2005-03-03 04:14:20 UTC 
(rev 41378)
@@ -1,718 +0,0 @@
-#include <config.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <server.h>
-#include <signal.h>
-#include <unistd.h>
-#include <sys/time.h>
-#include <errno.h>
-#include <stdio.h>
-#include <string.h>
-#include <sys/socket.h>
-#include <netinet/in.h>
-#include <Debugger.h>
-
-CORBA_ORB orb;
-Debugger_Manager debugger_manager;
-static int remote_pid = -1, remote_stdin, remote_stdout;
-
-struct InferiorHandle {
-       Debugger_Thread debugger_thread;
-};
-
-#define CHECK_RESULT           \
-       if (ev._major == CORBA_SYSTEM_EXCEPTION) {                      \
-               CORBA_exception_free (&ev);                             \
-               return COMMAND_ERROR_IO;                                \
-       } else if (ev._major) {                                         \
-               Debugger_Error *ex = CORBA_exception_value (&ev);       \
-               ServerCommandError result = ex->condition;              \
-               CORBA_exception_free (&ev);                             \
-               return result;                                          \
-       }
-
-static int
-setup_corba (void)
-{
-       const char *argv[3] = { "remoting-client", "--ORBIIOPIPv4=1", NULL };
-       char *ssh_argv[6];
-        int ssh_argc = 5, argc = 2;
-       CORBA_Environment ev;
-       gchar *remote_var, *port_pos;
-       int len, port = 0;
-       GError *error = NULL;
-       gboolean ok;
-       gchar *ior;
-
-       remote_var = g_strdup (g_getenv ("MONO_DEBUGGER_REMOTE"));
-       g_assert (remote_var);
-
-       port_pos = strchr (remote_var, ':');
-       if (port_pos) {
-               *port_pos++ = 0;
-               port = atoi (port_pos);
-       }
-       if (!port)
-               port = 40857;
-
-       ssh_argv [0] = "ssh";
-       ssh_argv [1] = "-L";
-       ssh_argv [2] = g_strdup_printf ("%d:127.0.0.1:%d", port, port);
-       ssh_argv [3] = remote_var;
-       ssh_argv [4] = "/Users/martin/INSTALL/libexec/debugger-remote-server";
-       ssh_argv [5] = NULL;
-
-       ok = g_spawn_async_with_pipes (NULL, ssh_argv, NULL, 
G_SPAWN_SEARCH_PATH,
-                                      NULL, NULL, &remote_pid, &remote_stdin,
-                                      &remote_stdout, NULL, &error);
-
-       if (!ok) {
-               g_warning (G_STRLOC ": %s", error->message);
-               return -1;
-       }
-
-       if (read (remote_stdout, &len, 4) != 4) {
-               g_warning (G_STRLOC ": read failed: %s", g_strerror (errno));
-               return -1;
-       }
-
-       len = ntohl (len);
-       if (len != MONO_DEBUGGER_REMOTE_MAGIC) {
-               g_warning (G_STRLOC ": Received unknown magic %x", len);
-               return -1;
-       }
-
-       if (read (remote_stdout, &len, 4) != 4) {
-               g_warning (G_STRLOC ": read failed: %s", g_strerror (errno));
-               return -1;
-       }
-
-       len = ntohl (len);
-       if (len != MONO_DEBUGGER_REMOTE_VERSION) {
-               g_warning (G_STRLOC ": Received unknown magic %x", len);
-               return -1;
-       }
-
-       len = htonl (port);
-       if (write (remote_stdin, &len, 4) != 4) {
-               g_warning (G_STRLOC ": write failed: %s", g_strerror (errno));
-               return -1;
-       }
-
-       if (read (remote_stdout, &len, 4) != 4) {
-               g_warning (G_STRLOC ": read failed: %s", g_strerror (errno));
-               return -1;
-       }
-
-       len = ntohl (len);
-
-       ior = g_malloc0 (len + 1);
-       if (read (remote_stdout, ior, len) != len) {
-               g_warning (G_STRLOC ": recv failed: %s", g_strerror (errno));
-               return -1;
-       }
-
-       CORBA_exception_init (&ev);
-       orb = CORBA_ORB_init (&argc, (char **) argv, "orbit-local-orb", &ev);
-
-       debugger_manager = CORBA_ORB_string_to_object (orb, ior, &ev);
-       if (ev._major) {
-               g_warning (G_STRLOC ": Can't bind to object `%s'", ior);
-               return -1;
-       }
-
-       CORBA_exception_free (&ev);
-       return 0;
-}
-
-static ServerHandle *
-remote_server_initialize (BreakpointManager *breakpoint_manager)
-{
-       ServerHandle *handle = g_new0 (ServerHandle, 1);
-
-       handle->bpm = breakpoint_manager;
-
-       if (setup_corba ())
-               return NULL;
-
-       return handle;
-}
-
-static Debugger_stringList *
-allocate_stringlist (const gchar **array)
-{
-       Debugger_stringList *list;
-       const gchar **ptr;
-       int i, count;
-
-       list = Debugger_stringList__alloc ();
-       if (!array)
-               return list;
-
-       for (ptr = array, count = 0; *ptr; ptr++, count++)
-               ;
-
-       list->_buffer = Debugger_stringList_allocbuf (count);
-       list->_maximum = list->_length = count;
-
-       for (i = 0; i < count; i++)
-               list->_buffer [i] = (CORBA_string) array [i];
-
-       return list;
-}
-
-static ServerCommandError
-remote_server_spawn (ServerHandle *handle, const gchar *working_directory,
-                    const gchar **argv, const gchar **envp, gint *child_pid,
-                    ChildOutputFunc stdout_handler, ChildOutputFunc 
stderr_handler,
-                    gchar **error)
-{
-       Debugger_stringList *corba_argv, *corba_envp;
-       CORBA_Environment ev;
-       CORBA_long pid;
-
-       if (handle->inferior)
-               return COMMAND_ERROR_ALREADY_HAVE_INFERIOR;
-
-       handle->inferior = g_new0 (InferiorHandle, 1);
-
-       CORBA_exception_init (&ev);
-
-       corba_argv = allocate_stringlist (argv);
-       corba_envp = allocate_stringlist (envp);
-
-       handle->inferior->debugger_thread = Debugger_Manager_Spawn (
-               debugger_manager, working_directory, corba_argv, corba_envp, 
&pid, &ev);
-
-       if (!ev._major) {
-               *child_pid = pid;
-               *error = NULL;
-               return COMMAND_ERROR_NONE;
-       }
-
-       *error = g_strdup (CORBA_exception_id (&ev));
-       CORBA_exception_free (&ev);
-
-       return COMMAND_ERROR_CANNOT_START_TARGET;
-}
-
-static ServerCommandError
-remote_server_attach (ServerHandle *handle, guint32 pid, guint32 *tid)
-{
-       CORBA_Environment ev;
-
-       if (handle->inferior)
-               return COMMAND_ERROR_ALREADY_HAVE_INFERIOR;
-
-       handle->inferior = g_new0 (InferiorHandle, 1);
-
-       CORBA_exception_init (&ev);
-       handle->inferior->debugger_thread = Debugger_Manager_Attach (
-               debugger_manager, pid, tid, &ev);
-       CHECK_RESULT;
-
-       CORBA_exception_free (&ev);
-       return COMMAND_ERROR_NONE;
-}
-
-static void
-remote_server_finalize (ServerHandle *handle)
-{
-       CORBA_Environment ev;
-
-       if (remote_pid > 0)
-               kill (remote_pid, SIGKILL);
-       remote_pid = -1;
-
-       CORBA_exception_init (&ev);
-       CORBA_Object_release (handle->inferior->debugger_thread, &ev);
-       CORBA_exception_free (&ev);
-
-       g_free (handle->inferior);
-       g_free (handle);
-}
-
-static ServerStatusMessageType
-remote_server_dispatch_event (ServerHandle *handle, guint32 status, guint64 
*arg,
-                             guint64 *data1, guint64 *data2)
-{
-       CORBA_Environment ev;
-       CORBA_long ret;
-
-       CORBA_exception_init (&ev);
-       ret = Debugger_Thread_DispatchEvent (handle->inferior->debugger_thread, 
status, arg, data1, data2, &ev);
-       g_assert (!ev._major);
-       CORBA_exception_free (&ev);
-
-       return ret;
-}
-
-static ServerCommandError
-remote_server_get_target_info (guint32 *target_int_size, guint32 
*target_long_size,
-                              guint32 *target_address_size, guint32 
*is_bigendian)
-{
-       CORBA_Environment ev;
-       Debugger_TargetInfo info;
-
-       CORBA_exception_init (&ev);
-       info = Debugger_Manager_GetTargetInfo (debugger_manager, &ev);
-       CHECK_RESULT;
-       CORBA_exception_free (&ev);
-
-       *target_int_size = info.IntSize;
-       *target_long_size = info.LongSize;
-       *target_address_size = info.AddressSize;
-       *is_bigendian = info.IsBigEndian;
-
-       return COMMAND_ERROR_NONE;
-}
-
-static ServerCommandError
-remote_server_get_pc (ServerHandle *handle, guint64 *pc)
-{
-       CORBA_Environment ev;
-
-       CORBA_exception_init (&ev);
-       *pc = Debugger_Thread_GetFrame (handle->inferior->debugger_thread, &ev);
-       CHECK_RESULT;
-
-       CORBA_exception_free (&ev);
-       return COMMAND_ERROR_NONE;
-}
-
-static ServerCommandError
-remote_server_current_insn_is_bpt (ServerHandle *handle, guint32 
*is_breakpoint)
-{
-       CORBA_Environment ev;
-       CORBA_boolean ret;
-
-       CORBA_exception_init (&ev);
-       ret = Debugger_Thread_CurrentInsnIsBreakpoint 
(handle->inferior->debugger_thread, &ev);
-       CHECK_RESULT;
-
-       *is_breakpoint = ret;
-       CORBA_exception_free (&ev);
-       return COMMAND_ERROR_NONE;
-}
-
-static ServerCommandError
-remote_server_step (ServerHandle *handle)
-{
-       CORBA_Environment ev;
-
-       CORBA_exception_init (&ev);
-       Debugger_Thread_Step (handle->inferior->debugger_thread, &ev);
-       CHECK_RESULT;
-
-       CORBA_exception_free (&ev);
-       return COMMAND_ERROR_NONE;
-}
-
-static ServerCommandError
-remote_server_continue (ServerHandle *handle)
-{
-       CORBA_Environment ev;
-
-       CORBA_exception_init (&ev);
-       Debugger_Thread_Continue (handle->inferior->debugger_thread, &ev);
-       CHECK_RESULT;
-
-       CORBA_exception_free (&ev);
-       return COMMAND_ERROR_NONE;
-}
-
-static ServerCommandError
-remote_server_detach (ServerHandle *handle)
-{
-       CORBA_Environment ev;
-
-       CORBA_exception_init (&ev);
-       Debugger_Thread_Detach (handle->inferior->debugger_thread, &ev);
-       CHECK_RESULT;
-
-       CORBA_exception_free (&ev);
-       return COMMAND_ERROR_NONE;
-}
-
-static ServerCommandError
-remote_server_peek_word (ServerHandle *handle, guint64 start, guint32 *word)
-{
-       CORBA_Environment ev;
-
-       CORBA_exception_init (&ev);
-       *word = Debugger_Thread_PeekWord (handle->inferior->debugger_thread, 
start, &ev);
-       CHECK_RESULT;
-
-       CORBA_exception_free (&ev);
-       return COMMAND_ERROR_NONE;
-}
-
-static ServerCommandError
-remote_server_read_memory (ServerHandle *handle, guint64 start, guint32 size, 
gpointer data)
-{
-       CORBA_Environment ev;
-       Debugger_Blob *blob;
-
-       CORBA_exception_init (&ev);
-       blob = Debugger_Thread_ReadMemory (handle->inferior->debugger_thread, 
start, size, &ev);
-       CHECK_RESULT;
-
-       memcpy (data, blob->_buffer, size);
-       CORBA_free (blob);
-
-       CORBA_exception_free (&ev);
-       return COMMAND_ERROR_NONE;
-}
-
-static ServerCommandError
-remote_server_write_memory (ServerHandle *handle, guint64 start, guint32 size, 
gconstpointer data)
-{
-       CORBA_Environment ev;
-       Debugger_Blob *blob;
-
-       blob = Debugger_Blob__alloc ();
-       blob->_length = blob->_maximum = size;
-       blob->_buffer = Debugger_Blob_allocbuf (size);
-       memcpy (blob->_buffer, data, size);
-
-       CORBA_exception_init (&ev);
-       Debugger_Thread_WriteMemory (handle->inferior->debugger_thread, start, 
blob, &ev);
-       CORBA_free (blob);
-       CHECK_RESULT;
-
-       CORBA_exception_free (&ev);
-       return COMMAND_ERROR_NONE;
-}
-
-static ServerCommandError
-remote_server_call_method (ServerHandle *handle, guint64 method_address,
-                          guint64 method_argument1, guint64 method_argument2,
-                          guint64 callback_argument)
-{
-       return COMMAND_ERROR_NOT_IMPLEMENTED;
-}
-
-static ServerCommandError
-remote_server_call_method_1 (ServerHandle *handle, guint64 method_address,
-                            guint64 method_argument, const gchar 
*string_argument,
-                            guint64 callback_argument)
-{
-       return COMMAND_ERROR_NOT_IMPLEMENTED;
-}
-
-static ServerCommandError
-remote_server_call_method_invoke (ServerHandle *handle, guint64 invoke_method,
-                                 guint64 method_argument, guint64 
object_argument,
-                                 guint32 num_params, guint64 *param_data,
-                                 guint64 callback_argument)
-{
-       return COMMAND_ERROR_NOT_IMPLEMENTED;
-}
-
-static ServerCommandError
-remote_server_insert_breakpoint (ServerHandle *handle, guint64 address, 
guint32 *breakpoint)
-{
-       CORBA_Environment ev;
-       CORBA_long ret;
-
-       CORBA_exception_init (&ev);
-       ret = Debugger_Thread_InsertBreakpoint 
(handle->inferior->debugger_thread, address, &ev);
-       CHECK_RESULT;
-
-       *breakpoint = ret;
-       CORBA_exception_free (&ev);
-       return COMMAND_ERROR_NONE;
-}
-
-static ServerCommandError
-remote_server_insert_hw_breakpoint (ServerHandle *handle, guint32 idx, guint64 
address,
-                                   guint32 *breakpoint)
-{
-       CORBA_Environment ev;
-
-       CORBA_exception_init (&ev);
-       *breakpoint = Debugger_Thread_InsertHardwareBreakpoint 
(handle->inferior->debugger_thread, idx, address, &ev);
-       CHECK_RESULT;
-
-       CORBA_exception_free (&ev);
-       return COMMAND_ERROR_NONE;
-}
-
-static ServerCommandError
-remote_server_remove_breakpoint (ServerHandle *handle, guint32 breakpoint)
-{
-       CORBA_Environment ev;
-
-       CORBA_exception_init (&ev);
-       Debugger_Thread_RemoveBreakpoint (handle->inferior->debugger_thread, 
breakpoint, &ev);
-       CHECK_RESULT;
-
-       CORBA_exception_free (&ev);
-       return COMMAND_ERROR_NONE;
-}
-
-static ServerCommandError
-remote_server_enable_breakpoint (ServerHandle *handle, guint32 breakpoint)
-{
-       CORBA_Environment ev;
-
-       CORBA_exception_init (&ev);
-       Debugger_Thread_EnableBreakpoint (handle->inferior->debugger_thread, 
breakpoint, &ev);
-       CHECK_RESULT;
-
-       CORBA_exception_free (&ev);
-       return COMMAND_ERROR_NONE;
-}
-
-static ServerCommandError
-remote_server_disable_breakpoint (ServerHandle *handle, guint32 breakpoint)
-{
-       CORBA_Environment ev;
-
-       CORBA_exception_init (&ev);
-       Debugger_Thread_DisableBreakpoint (handle->inferior->debugger_thread, 
breakpoint, &ev);
-       CHECK_RESULT;
-
-       CORBA_exception_free (&ev);
-       return COMMAND_ERROR_NONE;
-}
-
-static ServerCommandError
-remote_server_get_registers (ServerHandle *handle, guint32 count, guint32 
*registers,
-                            guint64 *values)
-{
-       CORBA_Environment ev;
-       Debugger_RegisterList *list;
-       int i;
-
-       list = Debugger_RegisterList__alloc ();
-       list->_length = list->_maximum = count;
-       list->_buffer = Debugger_RegisterList_allocbuf (count);
-
-       for (i = 0; i < count; i++)
-               list->_buffer [i].Index = registers [i];
-
-       CORBA_exception_init (&ev);
-       Debugger_Thread_GetRegisters (handle->inferior->debugger_thread, list, 
&ev);
-       if (ev._major)
-               CORBA_free (list);
-       CHECK_RESULT;
-
-       for (i = 0; i < count; i++)
-               values [i] = list->_buffer [i].Value;
-
-       CORBA_free (list);
-       CORBA_exception_free (&ev);
-       return COMMAND_ERROR_NONE;
-}
-
-static ServerCommandError
-remote_server_set_registers (ServerHandle *handle, guint32 count, guint32 
*registers,
-                            guint64 *values)
-{
-       CORBA_Environment ev;
-       Debugger_RegisterList *list;
-       int i;
-
-       list = Debugger_RegisterList__alloc ();
-       list->_length = list->_maximum = count;
-       list->_buffer = Debugger_RegisterList_allocbuf (count);
-
-       for (i = 0; i < count; i++) {
-               list->_buffer [i].Index = registers [i];
-               list->_buffer [i].Value = values [i];
-       }
-
-       CORBA_exception_init (&ev);
-       Debugger_Thread_GetRegisters (handle->inferior->debugger_thread, list, 
&ev);
-       CORBA_free (list);
-       CHECK_RESULT;
-
-       CORBA_exception_free (&ev);
-       return COMMAND_ERROR_NONE;
-}
-
-static ServerCommandError
-remote_server_get_backtrace (ServerHandle *handle, gint32 max_frames, guint64 
stop_address,
-                            guint32 *count, StackFrame **frames_ret)
-{
-       CORBA_Environment ev;
-       Debugger_StackFrameList *list;
-       StackFrame *frames;
-       int i;
-
-       CORBA_exception_init (&ev);
-       list = Debugger_Thread_GetBacktrace (handle->inferior->debugger_thread, 
max_frames, stop_address, &ev);
-       CHECK_RESULT;
-
-       *count = list->_length;
-       frames = g_new0 (StackFrame, list->_length);
-       for (i = 0; i < list->_length; i++) {
-               frames [i].address = list->_buffer [i].Frame;
-               frames [i].frame_address = list->_buffer [i].FrameAddress;
-       }
-       *frames_ret = frames;
-
-       CORBA_free (list);
-       CORBA_exception_free (&ev);
-       return COMMAND_ERROR_NONE;
-}
-
-static ServerCommandError
-remote_server_get_ret_address (ServerHandle *handle, guint64 *retval)
-{
-       CORBA_Environment ev;
-
-       CORBA_exception_init (&ev);
-       *retval = Debugger_Thread_GetReturnAddress 
(handle->inferior->debugger_thread, &ev);
-       CHECK_RESULT;
-
-       CORBA_exception_free (&ev);
-       return COMMAND_ERROR_NONE;
-}
-
-static ServerCommandError
-remote_server_stop (ServerHandle *handle)
-{
-       CORBA_Environment ev;
-
-       CORBA_exception_init (&ev);
-       Debugger_Thread_Stop (handle->inferior->debugger_thread, &ev);
-       CHECK_RESULT;
-
-       CORBA_exception_free (&ev);
-       return COMMAND_ERROR_NONE;
-}
-
-static ServerCommandError
-remote_server_stop_and_wait (ServerHandle *handle, guint32 *status)
-{
-       CORBA_Environment ev;
-
-       CORBA_exception_init (&ev);
-       *status = Debugger_Thread_StopAndWait 
(handle->inferior->debugger_thread, &ev);
-       CHECK_RESULT;
-
-       CORBA_exception_free (&ev);
-       return COMMAND_ERROR_NONE;
-}
-
-static guint32
-remote_server_global_wait (guint64 *status)
-{
-       guint32 result, status_ret, command = htonl (1);
-
-       if (write (remote_stdin, &command, 4) != 4) {
-               g_warning (G_STRLOC ": Send failed: %s", g_strerror (errno));
-               return -1;
-       }
-
-       if (read (remote_stdout, &result, 4) != 4) {
-               g_warning (G_STRLOC ": Recv failed: %s", g_strerror (errno));
-               return -1;
-       }
-
-       if (read (remote_stdout, &status_ret, 4) != 4) {
-               g_warning (G_STRLOC ": Recv failed: %s", g_strerror (errno));
-               return -1;
-       }
-
-       result = ntohl (result);
-       status_ret = ntohl (status_ret);
-
-       *status = status_ret;
-       return result;
-}
-
-static void
-remote_server_global_stop (void)
-{
-       guint32 result, command = htonl (2);
-
-       if (write (remote_stdout, &command, 4) != 4) {
-               g_warning (G_STRLOC ": Send failed: %s", g_strerror (errno));
-               return -1;
-       }
-}
-
-static ServerCommandError
-remote_server_set_signal (ServerHandle *handle, guint32 sig, guint32 send_it)
-{
-       return COMMAND_ERROR_NOT_IMPLEMENTED;
-}
-
-static ServerCommandError
-remote_server_kill (ServerHandle *handle)
-{
-       return COMMAND_ERROR_NOT_IMPLEMENTED;
-}
-
-static ServerCommandError
-remote_server_get_signal_info (ServerHandle *handle, SignalInfo *sinfo)
-{
-       sinfo->sigkill = SIGKILL;
-       sinfo->sigstop = SIGSTOP;
-       sinfo->sigint = SIGINT;
-       sinfo->sigchld = SIGCHLD;
-       sinfo->sigprof = SIGPROF;
-
-#if defined(__POWERPC__)
-       sinfo->sigpwr = 0;
-       sinfo->sigxcpu = 0;
-#else
-       sinfo->sigpwr = SIGPWR;
-       sinfo->sigxcpu = SIGXCPU;
-#endif
-
-#if 0
-       sinfo->thread_abort = 34;
-       sinfo->thread_restart = 33;
-       sinfo->thread_debug = 32;
-       sinfo->mono_thread_debug = -1;
-#else
-       sinfo->thread_abort = 33;
-       sinfo->thread_restart = 32;
-       sinfo->thread_debug = 34;
-       sinfo->mono_thread_debug = 34;
-#endif
-
-       return COMMAND_ERROR_NONE;
-       return COMMAND_ERROR_NOT_IMPLEMENTED;
-}
-
-InferiorVTable remote_client_inferior = {
-       remote_server_initialize,
-       remote_server_spawn,
-       remote_server_attach,
-       remote_server_detach,
-       remote_server_finalize,
-       remote_server_global_wait,
-       remote_server_stop_and_wait,
-       remote_server_dispatch_event,
-       remote_server_get_target_info,
-       remote_server_continue,
-       remote_server_step,
-       remote_server_get_pc,
-       remote_server_current_insn_is_bpt,
-       remote_server_peek_word,
-       remote_server_read_memory,
-       remote_server_write_memory,
-       remote_server_call_method,
-       remote_server_call_method_1,
-       remote_server_call_method_invoke,
-       remote_server_insert_breakpoint,
-       remote_server_insert_hw_breakpoint,
-       remote_server_remove_breakpoint,
-       remote_server_enable_breakpoint,
-       remote_server_disable_breakpoint,
-       NULL,
-       remote_server_get_registers,
-       remote_server_set_registers,
-       remote_server_get_backtrace,
-       remote_server_get_ret_address,
-       remote_server_stop,
-       remote_server_global_stop,
-       remote_server_set_signal,
-       remote_server_kill,
-       remote_server_get_signal_info
-};

Deleted: trunk/debugger/backends/server/remote-server.c
===================================================================
--- trunk/debugger/backends/server/remote-server.c      2005-03-02 22:29:16 UTC 
(rev 41377)
+++ trunk/debugger/backends/server/remote-server.c      2005-03-03 04:14:20 UTC 
(rev 41378)
@@ -1,340 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-#include <signal.h>
-#include <string.h>
-#include <debugger-srv.h>
-#include <sys/wait.h>
-#include <netinet/in.h>
-#include <pthread.h>
-
-CORBA_ORB orb;
-PortableServer_POA rootpoa;
-PortableServer_POA the_poa;
-Debugger_Manager debugger_manager;
-PortableServer_ObjectId *the_objid;
-static BreakpointManager *bpm;
-static PortableServer_POAManager rootpoa_mgr;
-static const char *the_ior;
-static int the_port;
-
-static GMutex *mutex;
-static GCond *cond;
-static GCond *ready_cond;
-static GMutex *ready_mutex;
-
-typedef struct
-{
-       POA_Debugger_Manager servant;
-       PortableServer_POA poa;
-} impl_POA_Debugger_Manager;
-
-static gchar **
-copy_stringlist (const Debugger_stringList *list)
-{
-       gchar **result = g_new0 (gchar *, list->_length + 1);
-       int i;
-
-       for (i = 0; i < list->_length; i++)
-               result [i] = list->_buffer [i];
-
-       return result;
-}
-
-static Debugger_Thread
-do_spawn (impl_POA_Debugger_Manager *servant, const CORBA_char *working_dir,
-         const Debugger_stringList *corba_argv, const Debugger_stringList 
*corba_envp,
-         CORBA_long *child_pid, CORBA_Environment *ev)
-{
-       const gchar **argv, **envp;
-       ServerCommandError result;
-       Debugger_ForkFailed *ex;
-       ServerHandle *handle;
-       gchar *error;
-
-       CHECK_VTABLE_RET (spawn, CORBA_OBJECT_NIL);
-
-       argv = (const gchar **) copy_stringlist (corba_argv);
-       envp = (const gchar **) copy_stringlist (corba_envp);
-
-       handle = global_vtable->initialize (bpm);
-
-       result = global_vtable->spawn (
-               handle, working_dir, argv, envp, child_pid, NULL, NULL, &error);
-
-       if (result != COMMAND_ERROR_NONE) {
-               ex = Debugger_ForkFailed__alloc ();
-               ex->message = error;
-
-               CORBA_exception_set (ev, CORBA_USER_EXCEPTION, 
ex_Debugger_ForkFailed, ex);
-               return CORBA_OBJECT_NIL;
-       }
-
-       return debugger_srv_start_object (handle, ev);
-}
-
-static Debugger_Thread
-do_attach (impl_POA_Debugger_Manager *servant, const CORBA_long_long pid,
-          CORBA_long *tid, CORBA_Environment *ev)
-{
-       ServerCommandError result;
-       ServerHandle *handle;
-
-       CHECK_VTABLE_RET (attach, CORBA_OBJECT_NIL);
-
-       handle = global_vtable->initialize (bpm);
-
-       result = global_vtable->attach (handle, pid, tid);
-       CHECK_RESULT_RET (CORBA_OBJECT_NIL);
-
-       return debugger_srv_start_object (handle, ev);
-}
-
-static Debugger_TargetInfo
-do_get_target_info (impl_POA_Debugger_Manager *servant, CORBA_Environment *ev)
-{
-       ServerCommandError result;
-       guint32 int_size, long_size, address_size, is_bigendian;
-       Debugger_TargetInfo info;
-
-       CHECK_VTABLE_RET (get_target_info, info);
-       result = global_vtable->get_target_info (
-               &int_size, &long_size, &address_size, &is_bigendian);
-       CHECK_RESULT_RET (info);
-
-       info.IntSize = int_size;
-       info.LongSize = long_size;
-       info.AddressSize = address_size;
-       info.IsBigEndian = is_bigendian != 0;
-       return info;
-}
-
-PortableServer_ServantBase__epv base_epv = {
-       NULL,
-       NULL,
-       NULL
-};
-
-POA_Debugger_Manager__epv debugger_manager_epv = {
-       NULL,
-       (gpointer) &do_spawn,
-       (gpointer) &do_attach,
-       (gpointer) &do_get_target_info
-};
-POA_Debugger_Manager__vepv poa_debugger_manager_vepv = { &base_epv, 
&debugger_manager_epv };
-POA_Debugger_Manager poa_debugger_manager_servant = { NULL, 
&poa_debugger_manager_vepv };
-
-static void
-debugger_manager_srv_start_poa (CORBA_Environment *ev)
-{
-       const static int    MAX_POLICIES  = 1;
-       CORBA_PolicyList   *poa_policies;
-
-       poa_policies           = CORBA_PolicyList__alloc ();
-        poa_policies->_maximum = MAX_POLICIES;
-        poa_policies->_length  = MAX_POLICIES;
-        poa_policies->_buffer  = CORBA_PolicyList_allocbuf (MAX_POLICIES);
-        CORBA_sequence_set_release (poa_policies, CORBA_TRUE);
-                                                                               
 
-        poa_policies->_buffer[0] = (CORBA_Policy)
-               PortableServer_POA_create_thread_policy (
-                       rootpoa,
-                       PortableServer_SINGLE_THREAD_MODEL,
-                       ev);
-
-       the_poa = PortableServer_POA_create_POA (rootpoa,
-                                                "Debugger POA",
-                                                rootpoa_mgr,
-                                                poa_policies,
-                                                ev);
-       g_assert (!ev->_major);
-
-        CORBA_Policy_destroy (poa_policies->_buffer[0], ev); 
-       g_assert (!ev->_major);
-       CORBA_free (poa_policies);
-}
-
-static void
-lock_bpm (void)
-{ }
-
-static void
-unlock_bpm (void)
-{ }
-
-static void
-debugger_manager_srv_start_object (CORBA_Environment *ev)
-{
-       bpm = mono_debugger_breakpoint_manager_new (lock_bpm, unlock_bpm);
-
-       POA_Debugger_Manager__init (&poa_debugger_manager_servant, ev);
-       g_assert (!ev->_major);
-
-       the_objid = PortableServer_POA_activate_object (
-               the_poa, &poa_debugger_manager_servant, ev);
-       g_assert (!ev->_major);
-
-       debugger_manager = PortableServer_POA_servant_to_reference (
-               the_poa, &poa_debugger_manager_servant, ev);
-       g_assert (!ev->_major);
-}
-
-static void
-debugger_manager_srv_finish_object (CORBA_Environment *ev)
-{
-       CORBA_Object_release (debugger_manager, ev);
-       g_assert (!ev->_major);
-
-       debugger_manager = 0;
-       PortableServer_POA_deactivate_object (the_poa, the_objid, ev);
-       g_assert (!ev->_major);
-
-       CORBA_free (the_objid);
-       the_objid = 0;
-       POA_Debugger_Manager__fini (&poa_debugger_manager_servant, ev);
-       g_assert (!ev->_major);
-}
-
-int
-mono_thread_get_abort_signal (void)
-{
-       return -1;
-}
-
-static gpointer
-debugger_thread (gpointer data)
-{
-       CORBA_Environment ev;
-       char *argv[6] = { "remoting-client", "--ORBIIOPIPv4=1", 
"--ORBIIOPUNIX=0",
-                         "--ORBIIOPIPName=127.0.0.1", "--ORBIIOPIPSock=40860",
-                         NULL };
-       int argc = 5;
-
-       argv [4] = g_strdup_printf ("--ORBIIOPIPSock=%d", the_port);
-
-       CORBA_exception_init (&ev);
-       orb = CORBA_ORB_init (&argc, argv, "orbit-local-mt-orb", &ev);
-       g_assert (!ev._major);
-
-        rootpoa = (PortableServer_POA) 
-               CORBA_ORB_resolve_initial_references (orb, "RootPOA", &ev);
-       g_assert (!ev._major);
-
-        rootpoa_mgr = PortableServer_POA__get_the_POAManager (rootpoa, &ev);
-       g_assert (!ev._major);
-
-       PortableServer_POAManager_activate (rootpoa_mgr, &ev);
-
-       debugger_manager_srv_start_poa (&ev);
-       g_assert (!ev._major);
-
-       debugger_manager_srv_start_object (&ev);
-       the_ior = CORBA_ORB_object_to_string (orb, debugger_manager, &ev);
-       g_assert (!ev._major);
-
-       g_mutex_lock (ready_mutex);
-       g_cond_signal (ready_cond);
-       g_mutex_unlock (ready_mutex);
-
-       CORBA_ORB_run (orb, &ev);
-
-       debugger_manager_srv_finish_object (&ev);
-
-       CORBA_Object_release ((CORBA_Object) rootpoa, &ev);
-       g_assert (!ev._major);
-       rootpoa = 0;
-
-       CORBA_ORB_shutdown (orb, FALSE, &ev);
-       g_assert (!ev._major);
-
-       CORBA_exception_free (&ev);
-       return NULL;
-}
-
-static gpointer
-wait_thread (gpointer data)
-{
-       for (;;) {
-               guint32 ret, status;
-
-               g_cond_wait (cond, mutex);
-
-               if (!global_vtable || !global_vtable->global_wait)
-                       continue;
-
-               ret = global_vtable->global_wait (&status);
-
-               ret = htonl (ret);
-               status = htonl (status);
-
-               g_assert (write (1, &ret, 4) == 4);
-               g_assert (write (1, &status, 4) == 4);
-       }
-}
-
-static void
-write_string (const gchar *string)
-{
-       guint32 len = htonl (strlen (string));
-       g_assert (write (1, &len, 4) == 4);
-       g_assert (write (1, string, strlen (string)) == strlen (string));
-}
-
-int
-main (int argc, char **argv)
-{
-       int magic;
-
-       g_thread_init (NULL);
-
-       magic = htonl (MONO_DEBUGGER_REMOTE_MAGIC);
-       g_assert (write (1, &magic, 4) == 4);
-       magic = htonl (MONO_DEBUGGER_REMOTE_VERSION);
-       g_assert (write (1, &magic, 4) == 4);
-
-       g_assert (read (0, &the_port, 4) == 4);
-       the_port = ntohl (the_port);
-
-       mutex = g_mutex_new ();
-       cond = g_cond_new ();
-
-       ready_mutex = g_mutex_new ();
-       ready_cond = g_cond_new ();
-
-       g_thread_create (debugger_thread, NULL, TRUE, NULL);
-       g_thread_create (wait_thread, NULL, TRUE, NULL);
-
-       g_cond_wait (ready_cond, ready_mutex);
-
-       write_string (the_ior);
-
-       for (;;) {
-               guint32 command, len;
-
-               len = read (0, &command, 4);
-               if (len != 4) {
-                       g_warning (G_STRLOC ": Cannot recv: %s", g_strerror 
(errno));
-                       exit (1);
-               }
-
-               command = ntohl (command);
-
-               switch (command) {
-               case 1:
-                       g_mutex_lock (mutex);
-                       g_cond_signal (cond);
-                       g_mutex_unlock (mutex);
-                       break;
-
-               case 2:
-                       global_vtable->global_stop ();
-                       break;
-
-               default:
-                       g_assert_not_reached ();
-               }
-       }
-
-       return 0;
-
-}

Modified: trunk/debugger/configure.in
===================================================================
--- trunk/debugger/configure.in 2005-03-02 22:29:16 UTC (rev 41377)
+++ trunk/debugger/configure.in 2005-03-03 04:14:20 UTC (rev 41378)
@@ -125,16 +125,6 @@
        fi
 )
 
-AC_ARG_ENABLE(martin_hacks, [  --enable-martin-hacks    This is only for 
Martin Baulig], use_martin_hacks=$enableval, use_martin_hacks=no)
-AM_CONDITIONAL(MARTIN_HACKS, test x$use_martin_hacks = xyes)
-
-martin_deps=
-if test x$use_martin_hacks = xyes; then
-   martin_deps="ORBit-2.0 >= 2.8.3"
-   AC_DEFINE(MARTIN_HACKS,1, [Enable Martin's playground.])
-fi
-
-
 ## Versions of dependencies
 GLIB_REQUIRED_VERSION=2.0.0
 MONO_REQUIRED_VERSION=0.96

_______________________________________________
Mono-patches maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches

Reply via email to