Index: trunk/Ohana/src/imregister/Makefile
===================================================================
--- trunk/Ohana/src/imregister/Makefile	(revision 33659)
+++ trunk/Ohana/src/imregister/Makefile	(revision 33660)
@@ -65,5 +65,4 @@
 $(IMREG)/ConfigPID.$(ARCH).o   \
 $(IMREG)/SetSignals.$(ARCH).o   \
-$(IMREG)/rconnect.$(ARCH).o   \
 $(IMREG)/FifoOps.$(ARCH).o   \
 $(IMREG)/SockScan.$(ARCH).o   \
Index: trunk/Ohana/src/imregister/imreg/SetSignals.c
===================================================================
--- trunk/Ohana/src/imregister/imreg/SetSignals.c	(revision 33659)
+++ trunk/Ohana/src/imregister/imreg/SetSignals.c	(revision 33660)
@@ -90,5 +90,5 @@
   char username[256], machine[256];
   char line[512];
-  int i, wsock, rsock;
+  int i, iosock[3];
   struct stat filestat;
 
@@ -99,10 +99,11 @@
 
   /* send signal to remote machine */
-  if (!rconnect (machine, CONNECT, &rsock, &wsock)) {
-    fprintf (stderr, "can't make connection to machine %s to kill process %d\n", machine, pid);
+  int errorInfo;
+  if (!rconnect (CONNECT, machine, "/bin/csh", iosock, &errorInfo, TRUE)) {
+    fprintf (stderr, "can't make connection to machine %s to kill process %d (error %d)\n", machine, pid, errorInfo);
     exit (1);
   }
   sprintf (line, "kill -TERM %d\n", pid);
-  if (write (wsock, line, strlen (line)) != strlen(line)) {
+  if (write (iosock[0], line, strlen (line)) != strlen(line)) {
     fprintf (stderr, "error sending signal\n");
     exit (1);
Index: trunk/Ohana/src/imregister/imreg/SockScan.c
===================================================================
--- trunk/Ohana/src/imregister/imreg/SockScan.c	(revision 33659)
+++ trunk/Ohana/src/imregister/imreg/SockScan.c	(revision 33660)
@@ -6,8 +6,10 @@
 int SockScan (char *string, Fifo *fifo, int sock) {
   
-  int i, done, status;
+  int i, status;
+  char *done;
 
-  done = 0;
-  for (i = 0; (i < MAXTIME) && !done; i++) {
+  done = string;
+  status = FALSE;
+  for (i = 0; (i < MAXTIME) && (done != NULL); i++) {
     ShiftFifo (fifo);
     status = ReadtoFifo (fifo, sock);
@@ -25,20 +27,4 @@
   return (status);
 }
-
-/* returns (offset to m2) + 1, or 0 if failure */ 
-int memstr (char *m1, char *m2, int n) {
-
-  int i, N;
-
-  N = strlen (m2);
-  for (i = 0; (i < n - N + 1) && memcmp (m1, m2, N); i++, m1++);
-  if (memcmp (m1, m2, N)) {
-    return (0);
-  }
-  else {
-    return (i+1);
-  }
-
-}
  
 /* SockScan reads from the given socket looking for the given string
Index: trunk/Ohana/src/imregister/include/imreg.h
===================================================================
--- trunk/Ohana/src/imregister/include/imreg.h	(revision 33659)
+++ trunk/Ohana/src/imregister/include/imreg.h	(revision 33660)
@@ -118,5 +118,4 @@
 int Shutdown (int status);
 void RemovePID (void);
-int rconnect (char *hostname, char *command, int *rsock, int *wsock);
 
 int InitFifo (Fifo *fifo, int Nalloc, int Nextra);
@@ -126,5 +125,4 @@
 void FreeFifo (Fifo *fifo);
 int SockScan (char *string, Fifo *fifo, int sock);
-int memstr (char *m1, char *m2, int n);
 
 off_t *unique_entries (RegImage *image, off_t Nimage, off_t *subset, off_t *Nmatch);
