/****************************************************************************/
/* Copyright (c) 2000 MBARI                                                 */
/* MBARI Proprietary Information. All rights reserved.                      */
/****************************************************************************/
/* Summary  :                                                               */
/* Filename : select_receive.c                                              */
/* Author   :                                                               */
/* Project  :                                                               */
/* Version  : 1.0                                                           */
/* Created  : 02/07/2000                                                    */
/* Modified :                                                               */
/* Archived :                                                               */
/****************************************************************************/
/* Modification History:                                                    */
/****************************************************************************/
#include <sys/kernel.h>
#include <stdio.h>

void processReceivedMsg(char *msg);
/*
_select_receive() replaces internal QNX function called by select()
system call. Allows select() to detect either socket activity or 
QNX messages
*/
pid_t _select_receive(pid_t selectProxy)
{
  char buf[512];
  pid_t senderPid;

  /* printf("Now in MY _select_receive()...\n"); */

  while ((senderPid = Receive(0, buf, sizeof(buf))) != selectProxy && 
	 senderPid != -1) {
    /* We received a message from somebody (not socket) */
    processReceivedMsg(buf);
  }

  return senderPid;
}

