Author: toshok
Date: 2005-04-27 03:34:51 -0400 (Wed, 27 Apr 2005)
New Revision: 43642

Modified:
   trunk/debugger/ChangeLog
   trunk/debugger/backends/SingleSteppingEngine.cs
   trunk/debugger/backends/ThreadManager.cs
   trunk/debugger/backends/server/mutex.c
   trunk/debugger/backends/server/mutex.h
   trunk/debugger/classes/SymbolTableManager.cs
   trunk/debugger/classes/Threading.cs
Log:
2005-04-27  Chris Toshok  <[EMAIL PROTECTED]>

        * classes/Threading.cs: remove the Debugger events - just use the
        stuff in corlib.

        * backends/server/mutex.c: remove the debugger event stuff.

        * backends/server/mutex.h: same.

        * backends/SingleSteppingEngine.cs: track change from Debugger
        events to corlib threading events.

        * backends/ThreadManager.cs: same.

        * classes/SymbolTableManager.cs: same.



Modified: trunk/debugger/ChangeLog
===================================================================
--- trunk/debugger/ChangeLog    2005-04-27 06:54:02 UTC (rev 43641)
+++ trunk/debugger/ChangeLog    2005-04-27 07:34:51 UTC (rev 43642)
@@ -1,3 +1,19 @@
+2005-04-27  Chris Toshok  <[EMAIL PROTECTED]>
+
+       * classes/Threading.cs: remove the Debugger events - just use the
+       stuff in corlib.
+
+       * backends/server/mutex.c: remove the debugger event stuff.
+
+       * backends/server/mutex.h: same.
+
+       * backends/SingleSteppingEngine.cs: track change from Debugger
+       events to corlib threading events.
+
+       * backends/ThreadManager.cs: same.
+
+       * classes/SymbolTableManager.cs: same.
+       
 2005-04-26  Chris Toshok  <[EMAIL PROTECTED]>
 
        * backends/Inferior.cs (Inferior.Dispose): don't call Kill here.

Modified: trunk/debugger/backends/SingleSteppingEngine.cs
===================================================================
--- trunk/debugger/backends/SingleSteppingEngine.cs     2005-04-27 06:54:02 UTC 
(rev 43641)
+++ trunk/debugger/backends/SingleSteppingEngine.cs     2005-04-27 07:34:51 UTC 
(rev 43642)
@@ -78,8 +78,7 @@
 
                        PID = inferior.PID;
 
-                       operation_completed_event = new 
DebuggerManualResetEvent (
-                               "operation_completed_event", false);
+                       operation_completed_event = new ManualResetEvent 
(false);
                }
 
                public SingleSteppingEngine (ThreadManager manager, 
ProcessStart start)
@@ -875,7 +874,7 @@
                ISimpleSymbolTable current_simple_symtab;
                Hashtable exception_handlers;
                bool engine_stopped;
-               DebuggerManualResetEvent operation_completed_event;
+               ManualResetEvent operation_completed_event;
                bool stop_requested;
                bool is_main, reached_main;
                bool native;
@@ -989,7 +988,7 @@
                                // This will never block.  The only thing which 
can
                                // happen here is that we were running an async 
operation
                                // and did not wait for the event yet.
-                               operation_completed_event.Wait ();
+                               operation_completed_event.WaitOne ();
                                engine_stopped = false;
                                Report.Debug (DebugFlags.Wait,
                                              "{0} got command mutex", this);
@@ -1064,7 +1063,7 @@
 
                        if (wait) {
                                Report.Debug (DebugFlags.Wait, "{0} waiting", 
this);
-                               operation_completed_event.Wait ();
+                               operation_completed_event.WaitOne ();
                                Report.Debug (DebugFlags.Wait, "{0} done 
waiting", this);
                        }
                        Report.Debug (DebugFlags.Wait,
@@ -1083,7 +1082,7 @@
                        }
 
                        Report.Debug (DebugFlags.Wait, "{0} waiting", this);
-                       operation_completed_event.Wait ();
+                       operation_completed_event.WaitOne ();
                        Report.Debug (DebugFlags.Wait, "{0} done waiting", 
this);
                        Report.Debug (DebugFlags.Wait,
                                      "{0} released command mutex", this);
@@ -1144,7 +1143,7 @@
                        // Ok, we got the `command_mutex'.
                        // Now we can wait for the operation to finish.
                        Report.Debug (DebugFlags.Wait, "{0} waiting", this);
-                       operation_completed_event.Wait ();
+                       operation_completed_event.WaitOne ();
                        Report.Debug (DebugFlags.Wait, "{0} stopped", this);
                        manager.ReleaseCommandMutex ();
                        return true;

Modified: trunk/debugger/backends/ThreadManager.cs
===================================================================
--- trunk/debugger/backends/ThreadManager.cs    2005-04-27 06:54:02 UTC (rev 
43641)
+++ trunk/debugger/backends/ThreadManager.cs    2005-04-27 07:34:51 UTC (rev 
43642)
@@ -30,14 +30,14 @@
                        thread_lock_mutex = new DebuggerMutex 
("thread_lock_mutex");
                        address_domain = new AddressDomain ("global");
 
-                       start_event = new DebuggerManualResetEvent 
("start_event", false);
-                       completed_event = new DebuggerAutoResetEvent 
("completed_event", false);
+                       start_event = new ManualResetEvent (false);
+                       completed_event = new AutoResetEvent (false);
                        command_mutex = new DebuggerMutex ("command_mutex");
                        command_mutex.DebugFlags = DebugFlags.SSE;
 
-                       ready_event = new DebuggerManualResetEvent 
("ready_event", false);
+                       ready_event = new ManualResetEvent (false);
                        engine_event = Semaphore.CreateThreadManagerSemaphore 
();
-                       wait_event = new DebuggerAutoResetEvent ("wait_event", 
false);
+                       wait_event = new AutoResetEvent (false);
 
                        mono_debugger_server_global_init ();
                }
@@ -54,8 +54,8 @@
                BreakpointManager breakpoint_manager;
                Thread inferior_thread;
                Thread wait_thread;
-               DebuggerManualResetEvent ready_event;
-               DebuggerEvent wait_event;
+               ManualResetEvent ready_event;
+               AutoResetEvent wait_event;
                Semaphore engine_event;
                Hashtable thread_hash;
 
@@ -65,8 +65,8 @@
 
                Process main_process;
 
-               DebuggerEvent start_event;
-               DebuggerAutoResetEvent completed_event;
+               ManualResetEvent start_event;
+               AutoResetEvent completed_event;
                DebuggerMutex command_mutex;
                bool sync_command_running;
                bool abort_requested;
@@ -133,7 +133,7 @@
                // </summary>
                void wait_until_engine_is_ready ()
                {
-                       start_event.Wait ();
+                       start_event.WaitOne ();
 
                        if (start_error != null)
                                throw start_error;
@@ -156,7 +156,7 @@
 
                public Process WaitForApplication ()
                {
-                       ready_event.Wait ();
+                       ready_event.WaitOne ();
 
                        return main_process;
                }
@@ -454,7 +454,7 @@
                                engine_event.Set ();
                        }
 
-                       completed_event.Wait ();
+                       completed_event.WaitOne ();
 
                        CommandResult result;
                        lock (this) {
@@ -622,7 +622,7 @@
                {
                        while (true) {
                                Report.Debug (DebugFlags.Wait, "Wait thread 
sleeping");
-                               wait_event.Wait ();
+                               wait_event.WaitOne ();
 
                                Report.Debug (DebugFlags.Wait, "Wait thread 
waiting");
 

Modified: trunk/debugger/backends/server/mutex.c
===================================================================
--- trunk/debugger/backends/server/mutex.c      2005-04-27 06:54:02 UTC (rev 
43641)
+++ trunk/debugger/backends/server/mutex.c      2005-04-27 07:34:51 UTC (rev 
43642)
@@ -24,53 +24,3 @@
 {
        return g_mutex_trylock (mutex);
 }
-
-DebuggerEvent *
-mono_debugger_event_new (void)
-{
-       DebuggerEvent *event = g_new0 (DebuggerEvent, 1);
-
-       event->cond = g_cond_new ();
-       event->mutex = g_mutex_new ();
-
-       return event;
-}
-
-void
-mono_debugger_event_wait (DebuggerEvent *event)
-{
-       g_mutex_lock (event->mutex);
-       if (event->signaled) {
-               event->signaled = FALSE;
-               g_mutex_unlock (event->mutex);
-               return;
-       }
-       event->waiting = TRUE;
-       g_cond_wait (event->cond, event->mutex);
-       event->waiting = FALSE;
-       event->signaled = FALSE;
-       g_mutex_unlock (event->mutex);
-}
-
-gboolean
-mono_debugger_event_trywait (DebuggerEvent *event)
-{
-       gboolean retval;
-
-       g_mutex_lock (event->mutex);
-       retval = event->signaled;
-       event->signaled = FALSE;
-       g_mutex_unlock (event->mutex);
-
-       return retval;
-}
-
-void
-mono_debugger_event_signal (DebuggerEvent *event)
-{
-       g_mutex_lock (event->mutex);
-       event->signaled = TRUE;
-       if (event->waiting)
-               g_cond_signal (event->cond);
-       g_mutex_unlock (event->mutex);
-}

Modified: trunk/debugger/backends/server/mutex.h
===================================================================
--- trunk/debugger/backends/server/mutex.h      2005-04-27 06:54:02 UTC (rev 
43641)
+++ trunk/debugger/backends/server/mutex.h      2005-04-27 07:34:51 UTC (rev 
43642)
@@ -6,13 +6,6 @@
 
 G_BEGIN_DECLS
 
-typedef struct {
-       GCond *cond;
-       GMutex *mutex;
-       gboolean signaled;
-       gboolean waiting;
-} DebuggerEvent;
-
 GMutex *
 mono_debugger_mutex_new          (void);
 
@@ -25,18 +18,6 @@
 gboolean
 mono_debugger_mutex_trylock      (GMutex *mutex);
 
-DebuggerEvent *
-mono_debugger_event_new          (void);
-
-void
-mono_debugger_event_wait         (DebuggerEvent *event);
-
-gboolean
-mono_debugger_event_trywait      (DebuggerEvent *event);
-
-void
-mono_debugger_event_signal       (DebuggerEvent *event);
-
 G_END_DECLS
 
 #endif

Modified: trunk/debugger/classes/SymbolTableManager.cs
===================================================================
--- trunk/debugger/classes/SymbolTableManager.cs        2005-04-27 06:54:02 UTC 
(rev 43641)
+++ trunk/debugger/classes/SymbolTableManager.cs        2005-04-27 07:34:51 UTC 
(rev 43642)
@@ -13,23 +13,19 @@
                bool symtab_thread_exit;
 
                Thread symtab_thread;
-               DebuggerAutoResetEvent symtab_reload_event;
-               DebuggerManualResetEvent symtabs_loaded_event;
-               DebuggerManualResetEvent modules_loaded_event;
-               DebuggerManualResetEvent update_completed_event;
+               AutoResetEvent symtab_reload_event;
+               ManualResetEvent symtabs_loaded_event;
+               ManualResetEvent modules_loaded_event;
+               ManualResetEvent update_completed_event;
                bool symtab_update_in_progress;
                bool module_update_in_progress;
 
                public SymbolTableManager ()
                {
-                       symtab_reload_event = new DebuggerAutoResetEvent (
-                               "symtab_reload_event", false);
-                       symtabs_loaded_event = new DebuggerManualResetEvent (
-                               "symtabs_loaded_event", true);
-                       modules_loaded_event = new DebuggerManualResetEvent (
-                               "modules_loaded_event", true);
-                       update_completed_event = new DebuggerManualResetEvent (
-                               "update_completed_event", true);
+                       symtab_reload_event = new AutoResetEvent (false);
+                       symtabs_loaded_event = new ManualResetEvent (true);
+                       modules_loaded_event = new ManualResetEvent (true);
+                       update_completed_event = new ManualResetEvent (true);
                        symtab_thread = new Thread (new ThreadStart 
(symtab_thread_start));
                        symtab_thread.IsBackground = true;
                        symtab_thread.Start ();
@@ -92,7 +88,7 @@
                public ISymbolTable SymbolTable {
                        get {
                                if (symtab_thread != null)
-                                       symtabs_loaded_event.Wait ();
+                                       symtabs_loaded_event.WaitOne ();
                                lock (this) {
                                        return current_symtab;
                                }
@@ -106,7 +102,7 @@
                public ISimpleSymbolTable SimpleSymbolTable {
                        get {
                                if (symtab_thread != null)
-                                       symtabs_loaded_event.Wait ();
+                                       symtabs_loaded_event.WaitOne ();
                                lock (this) {
                                        return current_simple_symtab;
                                }
@@ -116,7 +112,7 @@
                public void Wait ()
                {
                        if (symtab_thread != null) {
-                               update_completed_event.Wait ();
+                               update_completed_event.WaitOne ();
                        }
                }
 
@@ -133,7 +129,7 @@
                public Module[] Modules {
                        get {
                                if (symtab_thread != null)
-                                       modules_loaded_event.Wait ();
+                                       modules_loaded_event.WaitOne ();
                                lock (this) {
                                        return current_modules;
                                }
@@ -184,7 +180,7 @@
                void symtab_thread_main ()
                {
                        while (true) {
-                               symtab_reload_event.Wait ();
+                               symtab_reload_event.WaitOne ();
 
                                if (symtab_thread_exit)
                                        return;

Modified: trunk/debugger/classes/Threading.cs
===================================================================
--- trunk/debugger/classes/Threading.cs 2005-04-27 06:54:02 UTC (rev 43641)
+++ trunk/debugger/classes/Threading.cs 2005-04-27 07:34:51 UTC (rev 43642)
@@ -83,104 +83,4 @@
                }
        }
 
-       public abstract class DebuggerEvent : DebuggerWaitHandle
-       {
-               protected DebuggerEvent (string name)
-                       : base (name)
-               { }
-
-               public abstract void Set ();
-
-               public abstract void Wait ();
-       }
-
-       public class DebuggerManualResetEvent : DebuggerEvent
-       {
-               ManualResetEvent handle;
-
-               public DebuggerManualResetEvent (string name, bool 
initially_locked)
-                       : base (name)
-               {
-                       handle = new ManualResetEvent (initially_locked);
-               }
-
-               public override bool TryLock ()
-               {
-                       Debug ("{0} trying to lock {1}", CurrentThread, Name);
-                       bool success = handle.WaitOne (0, false);
-                       if (success)
-                               Debug ("{0} locked {1}", CurrentThread, Name);
-                       else
-                               Debug ("{0} could not lock {1}", CurrentThread, 
Name);
-                       return success;
-               }
-
-               public override void Wait ()
-               {
-                       Debug ("{0} waiting for {1}", CurrentThread, Name);
-                       while (!handle.WaitOne ()) {
-                               Debug ("{0} still waiting for {1}", 
CurrentThread, Name);
-                       }
-                       Debug ("{0} done waiting for {1}", CurrentThread, Name);
-               }
-
-               public override void Set ()
-               {
-                       Debug ("{0} signalling {1}", CurrentThread, Name);
-                       handle.Set ();
-               }
-
-               public void Reset ()
-               {
-                       Debug ("{0} resetting {1}", CurrentThread, Name);
-                       handle.Reset ();
-               }
-       }
-
-       public class DebuggerAutoResetEvent : DebuggerEvent
-       {
-               IntPtr handle;
-
-               [DllImport("monodebuggerserver")]
-               static extern IntPtr mono_debugger_event_new ();
-
-               [DllImport("monodebuggerserver")]
-               static extern void mono_debugger_event_wait (IntPtr handle);
-
-               [DllImport("monodebuggerserver")]
-               static extern bool mono_debugger_event_trywait (IntPtr handle);
-
-               [DllImport("monodebuggerserver")]
-               static extern void mono_debugger_event_signal (IntPtr handle);
-
-               public DebuggerAutoResetEvent (string name, bool 
initially_locked)
-                       : base (name)
-               {
-                       handle = mono_debugger_event_new ();
-               }
-
-               public override bool TryLock ()
-               {
-                       Debug ("{0} trying to lock {1}", CurrentThread, Name);
-                       bool success = mono_debugger_event_trywait (handle);
-                       if (success)
-                               Debug ("{0} locked {1}", CurrentThread, Name);
-                       else
-                               Debug ("{0} could not lock {1}", CurrentThread, 
Name);
-                       return success;
-               }
-
-               public override void Wait ()
-               {
-                       Debug ("{0} waiting for {1}", CurrentThread, Name);
-                       mono_debugger_event_wait (handle);
-                       Debug ("{0} done waiting for {1}", CurrentThread, Name);
-               }
-
-               public override void Set ()
-               {
-                       Debug ("{0} signalling {1}", CurrentThread, Name);
-                       mono_debugger_event_signal (handle);
-               }
-       }
 }

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

Reply via email to