Index: drvTS.c =================================================================== RCS file: /net/phoebus/epicsmgr/cvsroot/epics/base/src/db/Attic/drvTS.c,v retrieving revision 1.28.2.7 retrieving revision 1.28.2.9 diff -c -r1.28.2.7 -r1.28.2.9 *** drvTS.c 12 Jul 2002 22:17:14 -0000 1.28.2.7 --- drvTS.c 10 Feb 2003 14:54:16 -0000 1.28.2.9 *************** *** 1488,1493 **** --- 1488,1494 ---- num=select(FD_SETSIZE,&readfds,(fd_set*)NULL,(fd_set*)NULL,NULL); if(num==ERROR) { perror("select failed"); continue; } + fl = sizeof(fs); if((mlen=recvfrom(soc,(char*)&stran,sizeof(stran),0,&fs,&fl))<0) { perror("recvfrom failed"); continue; } *************** *** 1736,1741 **** --- 1737,1749 ---- volatile unsigned long s,us; struct timeval timeOut; struct timespec send_time,recv_time; + struct sockaddr local_sin; + + if (!from_sin) { + /* Tornado 2.2 doesn't like NULLs in recvfrom() */ + from_sin = &local_sin; + } + flen = sizeof(*from_sin); /* * joh 08-26-99 *************** *** 1782,1790 **** else { /* data available */ ! flen=from_sin?sizeof(struct sockaddr):0; ! if((mlen=recvfrom(soc,buf,buf_size,0,from_sin,&flen))<0) ! { perror("recvfrom failed"); return -1; } if(from_sin) { Debug(8,"recvfrom port %d\n", --- 1790,1797 ---- else { /* data available */ ! mlen=recvfrom(soc,buf,buf_size,0,from_sin,&flen); ! if(mlen < 0) { perror("recvfrom failed"); return -1; } if(from_sin) { Debug(8,"recvfrom port %d\n",