ViewVC Help
View File | Revision Log | Show Annotations | Download File | Root Listing
root/radiance/ray/src/util/netproc.c
(Generate patch)

Comparing ray/src/util/netproc.c (file contents):
Revision 2.8 by gregl, Tue Oct 28 14:01:39 1997 UTC vs.
Revision 2.12 by schorsch, Mon Oct 27 10:32:06 2003 UTC

# Line 1 | Line 1
1 /* Copyright (c) 1996 Regents of the University of California */
2
1   #ifndef lint
2 < static char SCCSid[] = "$SunId$ LBL";
2 > static const char       RCSid[] = "$Id$";
3   #endif
6
4   /*
5   * Parallel network process handling routines
6   */
7  
8 + #include <stdlib.h>
9   #include <stdio.h>
10 + #include <string.h>
11   #include <signal.h>
12   #include <fcntl.h>
13 + #include <unistd.h>
14 +
15   #include "selcall.h"
16   #include "netproc.h"
17   #include "paths.h"
# Line 18 | Line 19 | static char SCCSid[] = "$SunId$ LBL";
19  
20   PSERVER *pslist = NULL;         /* global process server list */
21  
22 < static PROC     *pindex[FD_SETSIZE];    /* process index table */
22 > static NETPROC  *pindex[FD_SETSIZE];    /* process index table */
23  
24   static char     ourhost[64];    /* this host name */
25 < static char     ourdir[MAXPATH];        /* our working directory */
25 > static char     ourdir[PATH_MAX];       /* our working directory */
26   static char     ouruser[32];    /* our user name */
27   static char     *ourshell;      /* our user's shell */
28  
# Line 30 | Line 31 | static int     maxfd;          /* maximum assigned descriptor */
31  
32   extern char     *remsh;         /* externally defined remote shell program */
33  
33 extern char     *malloc(), *realloc();
34 extern char     *getenv();
34  
36
35   PSERVER *
36   addpserver(host, dir, usr, np)          /* add a new process server */
37   char    *host, *dir, *usr;
# Line 43 | Line 41 | int    np;
41                                          /* allocate the struct */
42          if (np < 1)
43                  return(NULL);
44 <        ps = (PSERVER *)malloc(sizeof(PSERVER)+(np-1)*sizeof(PROC));
44 >        ps = (PSERVER *)malloc(sizeof(PSERVER)+(np-1)*sizeof(NETPROC));
45          if (ps == NULL)
46                  return(NULL);
47          if (!ourhost[0]) {              /* initialize */
48 <                char    dirtmp[MAXPATH];
48 >                char    dirtmp[PATH_MAX];
49                  register char   *cp;
50                  register int    len;
51  
52                  strcpy(ourhost, myhostname());
53 <                getwd(dirtmp);
53 >                getcwd(dirtmp, sizeof(dirtmp));
54                  if ((cp = getenv("HOME")) != NULL) {
55                          if (!strcmp(cp, dirtmp))
56                                  ourdir[0] = '\0';
# Line 126 | Line 124 | PSERVER        *ps;
124                                          /* remove server from list */
125          psp->next = ps->next;
126          pslist = pstart.next;
127 <        free((char *)ps);               /* free associated memory */
127 >        free((void *)ps);               /* free associated memory */
128   }
129  
130  
# Line 153 | Line 151 | register PSERVER       *ps;
151   char    *command;
152   int     (*compf)();
153   {
154 <        char    udirt[MAXPATH];
154 >        char    udirt[PATH_MAX];
155          char    *av[16];
156          int     pfd[2], pid;
157          register int    i;
# Line 234 | Line 232 | int    fd;
232   {
233          char    errbuf[BUFSIZ];
234          int     nr;
235 <        register PROC   *pp;
235 >        register NETPROC        *pp;
236                                  /* look up associated process */
237          if ((pp = pindex[fd]) == NULL)
238                  abort();                /* serious consistency error */
# Line 249 | Line 247 | int    fd;
247          if (pp->elen == 0)
248                  pp->errs = (char *)malloc(nr+1);
249          else
250 <                pp->errs = (char *)realloc(pp->errs, pp->elen+nr+1);
250 >                pp->errs = (char *)realloc((void *)pp->errs, pp->elen+nr+1);
251          if (pp->errs == NULL) {
252                  perror("malloc failed");
253                  exit(1);
# Line 288 | Line 286 | PSERVER        *ps;
286   int     pn;
287   int     status;
288   {
289 <        register PROC   *pp;
289 >        register NETPROC        *pp;
290  
291          pp = ps->proc + pn;
292          if (pp->cf != NULL)                     /* client cleanup */
# Line 296 | Line 294 | int    status;
294          close(pp->efd);                         /* close error stream */
295          pindex[pp->efd] = NULL;
296          FD_CLR(pp->efd, &errdesc);
297 <        free((char *)pp->errs);
297 >        free((void *)pp->errs);
298          pp->com = NULL;                         /* clear settings */
299          pp->pid = -1;
300          pp->efd = -1;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines