예제 #1
0
int ACLGal_FuncallLisp(ACLCallbackStruct *s, int *local_args,
			int num_local_args)
{
  int (*func)() = lisp_call_address(s->funcall_index);
  return FixnumToInt((*func)(lisp_value(s->lisp_fn_index),
			     lisp_value(s->lisp_array_index),
			     local_args, num_local_args));
}
예제 #2
0
  FD_ZERO(&writefds);
  FD_ZERO(&exceptfds);
  FD_SET(fd, &writefds);
  FD_SET(fd, &exceptfds);
  stat = select (width, NULL, &writefds, &exceptfds, &to);
  if (stat > 0 && (FD_ISSET(fd, &writefds) || FD_ISSET(fd, &exceptfds)))
    return 1;
  else
    return 0;
}

static void internal_read_wait (int fd, int auxfd, ilu_boolean *sure, ilu_FineTime *limit,
				ILU_ERRS((interrupt)) * err)
{
  if (read_fn != NULL)
    *sure = FixnumToInt((*read_fn)(fd, (limit == NULL) ? 0
				   : MILLISECONDS(limit)));
  else
    *sure = 0;
   ILU_CLER(*err);  
}

static void internal_write_wait (int fd, int auxfd, ilu_boolean *sure, ilu_FineTime *limit,
				ILU_ERRS((interrupt)) * err)
{
  if (ilufranz_OutputPossibleP(fd))
    {
      *sure = 1;
    }
  else
    {
      if (write_fn != NULL)