Index: c/src/tests/mptests/mp06/init.c
===================================================================
--- c/src/tests/mptests/mp06/init.c	(revision ac7d5ef06a6d6e8d84abbd1f0b82162725f98326)
+++ c/src/tests/mptests/mp06/init.c	(revision ac7d5ef06a6d6e8d84abbd1f0b82162725f98326)
@@ -0,0 +1,68 @@
+/*  Init
+ *
+ *  This routine is the initialization task for this test program.
+ *  It is a user initialization task and has the responsibility for creating
+ *  and starting the tasks that make up the test.  If the time of day
+ *  clock is required for the test, it should also be set to a known
+ *  value by this function.
+ *
+ *  Input parameters:
+ *    argument - task argument
+ *
+ *  Output parameters:  NONE
+ *
+ *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
+ *  On-Line Applications Research Corporation (OAR).
+ *  All rights assigned to U.S. Government, 1994.
+ *
+ *  This material may be reproduced by or for the U.S. Government pursuant
+ *  to the copyright license under the clause at DFARS 252.227-7013.  This
+ *  notice must appear in all copies of this file and its derivatives.
+ *
+ *  $Id$
+ */
+
+#include "system.h"
+#undef EXTERN
+#define EXTERN
+#include "conftbl.h"
+#include "gvar.h"
+
+rtems_task Init(
+  rtems_task_argument argument
+)
+{
+  rtems_status_code status;
+
+  printf(
+    "\n\n*** TEST 6 -- NODE %d ***\n",
+    Multiprocessing_configuration.node
+  );
+
+  Task_name[ 1 ] = rtems_build_name( '1', '1', '1', ' ' );
+  Task_name[ 2 ] = rtems_build_name( '2', '2', '2', ' ' );
+
+  puts( "Creating Test_task (Global)" );
+  status = rtems_task_create(
+    Task_name[Multiprocessing_configuration.node],
+    1,
+    1024,
+    RTEMS_DEFAULT_MODES,
+    RTEMS_GLOBAL,
+    &Task_id[ 1 ]
+  );
+  directive_failed( status, "rtems_task_create" );
+
+  puts( "Starting Test_task (Global)" );
+  status = rtems_task_start( Task_id[ 1 ], Test_task, 0 );
+  directive_failed( status, "rtems_task_start" );
+
+  Timer_name[ 1 ] = rtems_build_name( 'T', 'M', '1', ' ' );
+
+  status = rtems_timer_create( Timer_name[ 1 ], &Timer_id[ 1 ] );
+  directive_failed( status, "rtems_timer_create" );
+
+  puts( "Deleting initialization task" );
+  status = rtems_task_delete( RTEMS_SELF );
+  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+}
Index: c/src/tests/mptests/mp06/node1/mp06.scn
===================================================================
--- c/src/tests/mptests/mp06/node1/mp06.scn	(revision ac7d5ef06a6d6e8d84abbd1f0b82162725f98326)
+++ c/src/tests/mptests/mp06/node1/mp06.scn	(revision ac7d5ef06a6d6e8d84abbd1f0b82162725f98326)
@@ -0,0 +1,11 @@
+*** TEST 6 -- NODE 1 ***
+Creating Test_task (Global)
+Starting Test_task (Global)
+Deleting initialization task
+Remote task's name is : 222
+Getting TID of remote task
+Sending events to remote task
+....................................................
+....................................................
+*** END OF TEST 6 ***
+
Index: c/src/tests/mptests/mp06/node2/mp06.scn
===================================================================
--- c/src/tests/mptests/mp06/node2/mp06.scn	(revision ac7d5ef06a6d6e8d84abbd1f0b82162725f98326)
+++ c/src/tests/mptests/mp06/node2/mp06.scn	(revision ac7d5ef06a6d6e8d84abbd1f0b82162725f98326)
@@ -0,0 +1,12 @@
+*** TEST 6 -- NODE 2 ***
+Creating Test_task (Global)
+Starting Test_task (Global)
+Deleting initialization task
+Remote task's name is : 111
+Getting TID of remote task
+Receiving events from remote task
+....................................................
+....................................................
+rtems_event_receive - correctly returned RTEMS_TIMEOUT
+*** END OF TEST 6 ***
+
Index: c/src/tests/mptests/mp06/system.h
===================================================================
--- c/src/tests/mptests/mp06/system.h	(revision ac7d5ef06a6d6e8d84abbd1f0b82162725f98326)
+++ c/src/tests/mptests/mp06/system.h	(revision ac7d5ef06a6d6e8d84abbd1f0b82162725f98326)
@@ -0,0 +1,31 @@
+/*  system.h
+ *
+ *  This include file contains information that is included in every
+ *  function in the test set.
+ *
+ *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
+ *  On-Line Applications Research Corporation (OAR).
+ *  All rights assigned to U.S. Government, 1994.
+ *
+ *  This material may be reproduced by or for the U.S. Government pursuant
+ *  to the copyright license under the clause at DFARS 252.227-7013.  This
+ *  notice must appear in all copies of this file and its derivatives.
+ *
+ *  $Id$
+ */
+
+#include <rtems.h>
+#include "tmacros.h"
+
+
+/* Miscellaneous */
+
+#define EXTERN  extern             /* external definition */
+
+/* macros */
+
+/* structures */
+
+#include "gvar.h"
+
+/* end of include file */
Index: c/src/tests/mptests/mp06/task1.c
===================================================================
--- c/src/tests/mptests/mp06/task1.c	(revision ac7d5ef06a6d6e8d84abbd1f0b82162725f98326)
+++ c/src/tests/mptests/mp06/task1.c	(revision ac7d5ef06a6d6e8d84abbd1f0b82162725f98326)
@@ -0,0 +1,176 @@
+/*  Test_task
+ *
+ *  This task tests global event operations.  If running on node one, it
+ *  continuously sends events.   If running on node two, it continuously
+ *  receives events.
+ *
+ *  Input parameters:
+ *    argument - task argument
+ *
+ *  Output parameters:  NONE
+ *
+ *  COPYRIGHT (c) 1989, 1990, 1991, 1992, 1993, 1994.
+ *  On-Line Applications Research Corporation (OAR).
+ *  All rights assigned to U.S. Government, 1994.
+ *
+ *  This material may be reproduced by or for the U.S. Government pursuant
+ *  to the copyright license under the clause at DFARS 252.227-7013.  This
+ *  notice must appear in all copies of this file and its derivatives.
+ *
+ *  $Id$
+ */
+
+#include "system.h"
+
+#define DOT_COUNT 25
+
+/*PAGE
+ *
+ *  Stop_Test_TSR
+ */
+
+rtems_timer_service_routine Stop_Test_TSR(
+  rtems_id  ignored_id,
+  void     *ignored_address
+)
+{
+  Stop_Test = TRUE;
+}
+
+/*PAGE
+ *
+ *  Event_set_table
+ */
+
+rtems_event_set Event_set_table[] = {
+  RTEMS_EVENT_0,
+  RTEMS_EVENT_1,
+  RTEMS_EVENT_2,
+  RTEMS_EVENT_3,
+  RTEMS_EVENT_4,
+  RTEMS_EVENT_5,
+  RTEMS_EVENT_6,
+  RTEMS_EVENT_7,
+  RTEMS_EVENT_8,
+  RTEMS_EVENT_9,
+  RTEMS_EVENT_10,
+  RTEMS_EVENT_11,
+  RTEMS_EVENT_12,
+  RTEMS_EVENT_13,
+  RTEMS_EVENT_14,
+  RTEMS_EVENT_15,
+  RTEMS_EVENT_16,
+  RTEMS_EVENT_17,
+  RTEMS_EVENT_18,
+  RTEMS_EVENT_19,
+  RTEMS_EVENT_20,
+  RTEMS_EVENT_21,
+  RTEMS_EVENT_22,
+  RTEMS_EVENT_23,
+  RTEMS_EVENT_24,
+  RTEMS_EVENT_25,
+  RTEMS_EVENT_26,
+  RTEMS_EVENT_27,
+  RTEMS_EVENT_28,
+  RTEMS_EVENT_29,
+  RTEMS_EVENT_30,
+  RTEMS_EVENT_31
+};
+
+/*PAGE
+ *
+ *  Test_task
+ */
+
+rtems_task Test_task(
+  rtems_task_argument argument
+)
+{
+  rtems_status_code status;
+  rtems_unsigned32  count;
+  rtems_unsigned32  remote_node;
+  rtems_id          remote_tid;
+  rtems_event_set   event_out;
+  rtems_event_set   event_for_this_iteration;
+
+  Stop_Test = FALSE;
+
+  remote_node = (Multiprocessing_configuration.node == 1) ? 2 : 1;
+  puts_nocr( "Remote task's name is : " );
+  put_name( Task_name[ remote_node ], TRUE );
+
+  puts( "Getting TID of remote task" );
+  do {
+      status = rtems_task_ident(
+          Task_name[ remote_node ],
+          RTEMS_SEARCH_ALL_NODES,
+          &remote_tid
+          );
+  } while ( status != RTEMS_SUCCESSFUL );
+  directive_failed( status, "rtems_task_ident FAILED!!" );
+
+  if ( Multiprocessing_configuration.node == 1 )
+    puts( "Sending events to remote task" );
+  else
+    puts( "Receiving events from remote task" );
+
+  status = rtems_timer_fire_after(
+    Timer_id[ 1 ],
+    5 * TICKS_PER_SECOND,
+    Stop_Test_TSR,
+    NULL
+  );
+  directive_failed( status, "rtems_timer_fire_after" );
+
+  count = 0;
+
+  for ( ; ; ) {
+    if ( Stop_Test == TRUE )
+      break;
+
+    event_for_this_iteration = Event_set_table[ count % 32 ];
+
+    if ( Multiprocessing_configuration.node == 1 ) {
+      status = rtems_event_send( remote_tid, event_for_this_iteration );
+      directive_failed( status, "rtems_event_send" );
+
+      status = rtems_task_wake_after( 1 );
+      directive_failed( status, "rtems_task_wake_after" );
+    } else {
+      status = rtems_event_receive(
+        event_for_this_iteration,
+        RTEMS_DEFAULT_OPTIONS,
+        1 * TICKS_PER_SECOND,
+        &event_out
+      );
+      if ( rtems_are_statuses_equal( status, RTEMS_TIMEOUT ) ) {
+        if ( Multiprocessing_configuration.node == 2 )
+          puts( "\nCorrect behavior if the other node exitted." );
+        else
+          puts( "\nERROR... node 1 died" );
+        break;
+      } else
+        directive_failed( status, "rtems_event_receive" );
+    }
+
+    if ( (count % DOT_COUNT) == 0 )
+      put_dot('.');
+
+    count++;
+  }
+
+  putchar( '\n' );
+
+  if ( Multiprocessing_configuration.node == 2 ) {
+    status = rtems_event_receive(
+      RTEMS_EVENT_16,
+      RTEMS_DEFAULT_OPTIONS,
+      1 * TICKS_PER_SECOND,
+      &event_out
+    );
+    fatal_directive_status( status, RTEMS_TIMEOUT, "rtems_event_receive" );
+    puts( "rtems_event_receive - correctly returned RTEMS_TIMEOUT" );
+  }
+  puts( "*** END OF TEST 6 ***" );
+  exit( 0 );
+}
