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