[BACK]Return to tcpf.c CVS log [TXT][DIR] Up to [local] / OpenXM_contrib2 / asir2000 / io

Diff for /OpenXM_contrib2/asir2000/io/tcpf.c between version 1.59 and 1.63

version 1.59, 2010/12/12 03:20:53 version 1.63, 2013/06/13 18:40:31
Line 44 
Line 44 
  * OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY   * OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY
  * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,   * DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE,
  * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.   * PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE.
  * $OpenXM: OpenXM_contrib2/asir2000/io/tcpf.c,v 1.58 2010/09/01 08:01:09 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/io/tcpf.c,v 1.62 2012/12/17 07:20:45 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include "parse.h"  #include "parse.h"
Line 58 
Line 58 
 #endif  #endif
 #include "ox.h"  #include "ox.h"
   
 #if defined(VISUAL)  
 #include <stdlib.h>  #include <stdlib.h>
   #if defined(VISUAL)
 #include <winsock2.h>  #include <winsock2.h>
 #include <process.h>  #include <process.h>
 #endif  #endif
Line 213  extern struct IOFP iofp[];
Line 213  extern struct IOFP iofp[];
 extern MATHCAP my_mathcap;  extern MATHCAP my_mathcap;
 extern int ox_exchange_mathcap;  extern int ox_exchange_mathcap;
   
 char *getenv();  Obj asir_pop_one();
   void asir_push_one(Obj);
   
 void Pnd_exec_f4_red(Q *rp)  void Pnd_exec_f4_red(Q *rp)
 {  {
Line 1070  int get_mcindex(int i)
Line 1071  int get_mcindex(int i)
   
 void Pox_select(NODE arg,LIST *rp)  void Pox_select(NODE arg,LIST *rp)
 {  {
         int fd,n,i,index,mcind,s;          int fd,n,i,index,mcind,s,maxfd,minfd;
         fd_set r,w,e;          fd_set r,w,e;
         NODE list,t,t1,t0;          NODE list,t,t1,t0;
         Q q;          Q q;
Line 1088  void Pox_select(NODE arg,LIST *rp)
Line 1089  void Pox_select(NODE arg,LIST *rp)
                 tvp = 0;                  tvp = 0;
   
         FD_ZERO(&r); FD_ZERO(&w); FD_ZERO(&e);          FD_ZERO(&r); FD_ZERO(&w); FD_ZERO(&e);
           maxfd = minfd = -1;
         for ( t = list, t0 = 0; t; t = NEXT(t) ) {          for ( t = list, t0 = 0; t; t = NEXT(t) ) {
                 index = QTOS((Q)BDY(t));                  index = QTOS((Q)BDY(t));
                 valid_mctab_index(index);                  valid_mctab_index(index);
Line 1096  void Pox_select(NODE arg,LIST *rp)
Line 1098  void Pox_select(NODE arg,LIST *rp)
                         MKNODE(t1,(Q)BDY(t),t0); t0 = t1;                          MKNODE(t1,(Q)BDY(t),t0); t0 = t1;
                 } else {                  } else {
                         fd = get_fd(s); FD_SET((unsigned int)fd,&r);                          fd = get_fd(s); FD_SET((unsigned int)fd,&r);
                           maxfd = maxfd<0 ? fd : MAX(fd,maxfd);
                           minfd = minfd<0 ? fd : MIN(fd,minfd);
                 }                  }
         }          }
         if ( t0 ) {          if ( t0 ) {
Line 1103  void Pox_select(NODE arg,LIST *rp)
Line 1107  void Pox_select(NODE arg,LIST *rp)
         }          }
   
         n = select(FD_SETSIZE,&r,&w,&e,tvp);          n = select(FD_SETSIZE,&r,&w,&e,tvp);
   #if defined(VISUAL)
           for ( i = minfd, t = 0; n && i <= maxfd; i++ )
   #else
         for ( i = 0, t = 0; n && i < FD_SETSIZE; i++ )          for ( i = 0, t = 0; n && i < FD_SETSIZE; i++ )
   #endif
                 if ( FD_ISSET(i,&r) ) {                  if ( FD_ISSET(i,&r) ) {
                         /* index : index to iofp array */                          /* index : index to iofp array */
                         index = get_index(i);                          index = get_index(i);
Line 1604  int validate_ox_plot_stream(int index)
Line 1612  int validate_ox_plot_stream(int index)
   
         /* create an ox_plot server */          /* create an ox_plot server */
         MKSTR(name,"ox_plot");          MKSTR(name,"ox_plot");
         arg = mknode(2,0,name);          arg = mknode(2,NULL,name);
         Pox_launch_nox(arg,&r);          Pox_launch_nox(arg,&r);
         i = QTOS((Q)r);          i = QTOS((Q)r);
 #if defined(VISUAL)  #if defined(VISUAL)
Line 1635  int register_102(int s1,int rank,int is_master)
Line 1643  int register_102(int s1,int rank,int is_master)
         iofp_102[rank].out = fdopen(s1,"w");          iofp_102[rank].out = fdopen(s1,"w");
 #if !defined(__CYGWIN__)  #if !defined(__CYGWIN__)
         setbuffer(iofp_102[rank].in,iofp_102[rank].inbuf =          setbuffer(iofp_102[rank].in,iofp_102[rank].inbuf =
                 (char *)GC_malloc_atomic(LBUFSIZ),LBUFSIZ);                  (char *)MALLOC_ATOMIC(LBUFSIZ),LBUFSIZ);
         setbuffer(iofp_102[rank].out,iofp_102[rank].outbuf =          setbuffer(iofp_102[rank].out,iofp_102[rank].outbuf =
                 (char *)GC_malloc_atomic(LBUFSIZ),LBUFSIZ);                  (char *)MALLOC_ATOMIC(LBUFSIZ),LBUFSIZ);
 #endif  #endif
 #endif  #endif
         if ( little_endian )          if ( little_endian )

Legend:
Removed from v.1.59  
changed lines
  Added in v.1.63

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>