AcePerl
view release on metacpan or search on metacpan
acelib/aceclientlib.c view on Meta::CPAN
/* File: aceclientlib.c
* Author: Jean Thierry-Mieg (mieg@kaa.cnrs-mop.fr)
* Copyright (C) J Thierry-Mieg and R Durbin, 1992
*-------------------------------------------------------------------
* This file is part of the ACEDB genome database package, written by
* Richard Durbin (MRC LMB, UK) rd@mrc-lmb.cam.ac.uk, and
* Jean Thierry-Mieg (CRBM du CNRS, France) mieg@kaa.cnrs-mop.fr
*
* Description:
* I started from a sample code generated by rpcgen on Solaris
* and a first version by Peter Kocab.
* Does not require any ACEDB library code.
*
* Exported functions:
openServer()
closeServer()
askServer()
askServerBinary()
* HISTORY:
* Last edited: Sep 10 19:48 1997 (rd)
* Created: Wed Nov 25 20:02:45 1992 (mieg)
*-------------------------------------------------------------------
*/
/* $Id: aceclientlib.c,v 1.1 2002/11/14 20:00:06 lstein Exp $ */
#include "mystdlib.h"
#define __malloc_h
#include <errno.h>
#include <rpc/rpc.h>
#include "rpcace.h"
#include "aceclient.h"
#include "regular.h"
BOOL accessDebug = FALSE ;
#include <signal.h> /* for alarm stuff */
#include <unistd.h> /* for pause() */
#include <sys/time.h> /* for setitimer() etc. */
static void wakeUp (int x)
{
static int sig = 0 ;
sig = x ;
signal (SIGALRM, wakeUp) ; /* reregister, otherwise you exit on SGI and LINUX */
}
static FILE *magicFileOpen (char *name)
{
FILE *f ;
f = fopen (name, "r") ;
if (f)
{ if (accessDebug)
printf ("// found %s immediately\n", name) ;
return f ;
}
/* test if directory readable by trying to open the file "." in
the directory. filcheck() and access() won't work in setuid()
situations.
*/
{ char *dirName, *cp ;
dirName = strnew (name, 0) ;
for (cp = dirName ; *cp ; ++cp) ;
while (cp > dirName && *cp != '/') --cp ;
*++cp = '.' ;
*++cp = 0 ;
if (!(f = fopen(dirName, "r")))
{ if (accessDebug)
printf ("// directory %s not readable\n", dirName) ;
return 0 ;
}
fclose (f) ;
}
{ int i ;
struct itimerval tval ;
( run in 1.122 second using v1.01-cache-2.11-cpan-39bf76dae61 )