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

Diff for /OpenXM_contrib2/asir2000/io/sio.c between version 1.15 and 1.24

version 1.15, 2001/12/27 04:07:15 version 1.24, 2011/02/06 07:07:39
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/sio.c,v 1.14 2001/12/25 02:39:05 noro Exp $   * $OpenXM: OpenXM_contrib2/asir2000/io/sio.c,v 1.23 2003/03/07 06:39:57 noro Exp $
 */  */
 #include "ca.h"  #include "ca.h"
 #include <setjmp.h>  #include <setjmp.h>
Line 76  struct IOFP iofp[MAXIOFP];
Line 76  struct IOFP iofp[MAXIOFP];
   
 void init_socket(void);  void init_socket(void);
   
   #if !defined(VISUAL)
   #define closesocket(s)   (close((s)))
   #endif
   
 int getremotesocket(int s)  int getremotesocket(int s)
 {  {
         return iofp[s].s;          return iofp[s].s;
Line 156  int try_bind_listen(int use_unix,char *port_str)
Line 160  int try_bind_listen(int use_unix,char *port_str)
         }          }
         if (bind(service, saddr, len) < 0) {          if (bind(service, saddr, len) < 0) {
                 perror("in bind");                  perror("in bind");
                 close(service);                  closesocket(service);
                 return -1;                  return -1;
         }          }
         if (getsockname(service,saddr, &len) < 0) {          if (getsockname(service,saddr, &len) < 0) {
             perror("in getsockname");              perror("in getsockname");
             close(service);              closesocket(service);
             return -1;              return -1;
         }          }
         if (listen(service, SOCKQUEUELENGTH) < 0) {          if (listen(service, SOCKQUEUELENGTH) < 0) {
                 perror("in listen");                  perror("in listen");
                 close(service);                  closesocket(service);
                 return -1;                  return -1;
         }          }
         return service;          return service;
Line 207  int try_accept(int af_unix,int s)
Line 211  int try_accept(int af_unix,int s)
         }          }
         if ( i == 10 )          if ( i == 10 )
                 c = -1;                  c = -1;
         close(s);          closesocket(s);
         return c;          return c;
 }  }
   
Line 263  int try_connect(int use_unix,char *host,char *port_str
Line 267  int try_connect(int use_unix,char *host,char *port_str
                 if ( connect(s,saddr,len) >= 0 )                  if ( connect(s,saddr,len) >= 0 )
                         break;                          break;
                 else {                  else {
                         close(s);                          closesocket(s);
 #if defined(VISUAL)  #if defined(VISUAL)
                         Sleep(100);                          Sleep(100);
 #else  #else
Line 313  void free_iofp(int s)
Line 317  void free_iofp(int s)
         struct IOFP *r;          struct IOFP *r;
   
         r = &iofp[s];          r = &iofp[s];
         r->in = r->out = 0; r->s = 0;  #if defined(VISUAL)
 #if !defined(VISUAL)          if ( r->s ) closesocket(r->s);
         if ( r->socket )  #elif !defined(MPI)
                 unlink(r->socket);          if ( r->in ) fclose(r->in);
           if ( r->out ) fclose(r->out);
           if ( r->socket ) unlink(r->socket);
 #endif  #endif
           r->inbuf = r->outbuf = 0;
           r->in = r->out = 0; r->s = 0;
 }  }
   
 #define LBUFSIZ BUFSIZ*10  
   
 int get_iofp(int s1,char *af_sock,int is_server)  int get_iofp(int s1,char *af_sock,int is_server)
 {  {
         int i;          int i;
         unsigned char c,rc;          unsigned char c,rc;
         extern int mpi_myid;          extern int mpi_myid;
   
 #if MPI  #if defined(MPI)
         iofp[s1].s = s1;          iofp[s1].s = s1;
         if ( mpi_myid == s1 ) {          if ( mpi_myid == s1 ) {
                 iofp[s1].in = 0;                  iofp[s1].in = 0;
Line 353  int get_iofp(int s1,char *af_sock,int is_server)
Line 359  int get_iofp(int s1,char *af_sock,int is_server)
         iofp[i].in = fdopen(s1,"r");          iofp[i].in = fdopen(s1,"r");
         iofp[i].out = fdopen(s1,"w");          iofp[i].out = fdopen(s1,"w");
 #if !defined(__CYGWIN__)  #if !defined(__CYGWIN__)
         setbuffer(iofp[i].in,(char *)malloc(LBUFSIZ),LBUFSIZ);          setbuffer(iofp[i].in,iofp[i].inbuf = (char *)GC_malloc_atomic(LBUFSIZ),LBUFSIZ);
         setbuffer(iofp[i].out,(char *)malloc(LBUFSIZ),LBUFSIZ);          setbuffer(iofp[i].out,iofp[i].outbuf = (char *)GC_malloc_atomic(LBUFSIZ),LBUFSIZ);
 #endif  #endif
 #endif  #endif
         if ( little_endian )          if ( little_endian )

Legend:
Removed from v.1.15  
changed lines
  Added in v.1.24

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