Cleanup of the dispatch mechanism.  Now syscall returns and the final
request to shutdown valgrind are done with the client request
mechanism too.  This is much better than having to check all
call/return addresses.


git-svn-id: svn://svn.valgrind.org/valgrind/trunk@57 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/coregrind/vg_include.h b/coregrind/vg_include.h
index 56ee85d..0833cae 100644
--- a/coregrind/vg_include.h
+++ b/coregrind/vg_include.h
@@ -409,6 +409,13 @@
 #define VG_USERREQ__PTHREAD_MUTEX_DESTROY   0x3008
 #define VG_USERREQ__PTHREAD_CANCEL          0x3009
 
+/* 
+In vg_constants.h:
+#define VG_USERREQ__SIGNAL_RETURNS          0x4001
+#define VG_USERREQ__SHUTDOWN_VALGRIND       0x4002 
+*/
+
+
 /* ---------------------------------------------------------------------
    Constants pertaining to the simulated CPU state, VG_(baseBlock),
    which need to go here to avoid ugly circularities.
@@ -579,9 +586,6 @@
 extern void VG_(do__NR_sigaction)     ( ThreadId tid );
 extern void VG_(do__NR_sigprocmask)   ( Int how, vki_ksigset_t* set );
 
-/* Bogus return address for signal handlers.  Is never executed. */
-extern void VG_(signalreturn_bogusRA) ( void );
-
 /* Modify the current thread's state once we have detected it is
    returning from a signal handler. */
 extern void VG_(signal_returns) ( ThreadId );
@@ -1516,6 +1520,9 @@
 extern void VG_(helper_value_check1_fail);
 extern void VG_(helper_value_check0_fail);
 
+/* NOT A FUNCTION; a bogus RETURN ADDRESS. */
+extern void VG_(signalreturn_bogusRA)( void );
+
 
 /* ---------------------------------------------------------------------
    The state of the simulated CPU.