version 1.8, 2000/07/13 05:09:03 |
version 1.9, 2000/07/14 08:26:40 |
|
|
/* $OpenXM: OpenXM_contrib2/asir2000/io/tcpf.c,v 1.7 2000/03/19 12:35:20 noro Exp $ */ |
/* $OpenXM: OpenXM_contrib2/asir2000/io/tcpf.c,v 1.8 2000/07/13 05:09:03 noro Exp $ */ |
#if INET |
#if INET |
#include "ca.h" |
#include "ca.h" |
#include "parse.h" |
#include "parse.h" |
Line 548 int af_unix,m,c; |
|
Line 548 int af_unix,m,c; |
|
{ |
{ |
int s,i,ci; |
int s,i,ci; |
struct m_c *t; |
struct m_c *t; |
|
#define INIT_TAB_SIZ 64 |
|
|
if ( c < 0 ) |
if ( c < 0 ) |
return -1; |
return -1; |
if ( !m_c_tab ) { |
if ( !m_c_tab ) { |
s = BUFSIZ*sizeof(struct m_c); |
s = INIT_TAB_SIZ*sizeof(struct m_c); |
m_c_tab = (struct m_c *)MALLOC_ATOMIC(s); |
m_c_tab = (struct m_c *)MALLOC_ATOMIC(s); |
for ( i = 0; i < BUFSIZ; i++ ) { |
for ( i = 0; i < INIT_TAB_SIZ; i++ ) { |
m_c_tab[i].af_unix = 0; |
m_c_tab[i].af_unix = 0; |
m_c_tab[i].m = m_c_tab[i].c = -1; |
m_c_tab[i].m = m_c_tab[i].c = -1; |
} |
} |
m_c_s = BUFSIZ; |
m_c_s = INIT_TAB_SIZ; |
} |
} |
#if !MPI |
#if !MPI |
for ( i = 0; i < m_c_i; i++ ) |
for ( i = 0; i < m_c_i; i++ ) |
Line 571 int af_unix,m,c; |
|
Line 572 int af_unix,m,c; |
|
} |
} |
#endif |
#endif |
if ( m_c_i == m_c_s ) { |
if ( m_c_i == m_c_s ) { |
s = (m_c_s+BUFSIZ)*sizeof(struct m_c); |
s = (m_c_s+INIT_TAB_SIZ)*sizeof(struct m_c); |
t = (struct m_c *)MALLOC_ATOMIC(s); bzero(m_c_tab,s); |
t = (struct m_c *)MALLOC_ATOMIC(s); bzero(m_c_tab,s); |
bcopy(m_c_tab,t,m_c_s*sizeof(struct m_c)); |
bcopy(m_c_tab,t,m_c_s*sizeof(struct m_c)); |
for ( i = 0; i < BUFSIZ; i++ ) { |
for ( i = 0; i < INIT_TAB_SIZ; i++ ) { |
m_c_tab[m_c_s+i].af_unix = 0; |
m_c_tab[m_c_s+i].af_unix = 0; |
m_c_tab[m_c_s+i].m = m_c_tab[m_c_s+i].c = -1; |
m_c_tab[m_c_s+i].m = m_c_tab[m_c_s+i].c = -1; |
} |
} |
m_c_s += BUFSIZ; m_c_tab = t; |
m_c_s += INIT_TAB_SIZ; m_c_tab = t; |
} |
} |
m_c_tab[m_c_i].m = m; m_c_tab[m_c_i].c = c; |
m_c_tab[m_c_i].m = m; m_c_tab[m_c_i].c = c; |
m_c_tab[m_c_i].af_unix = af_unix; |
m_c_tab[m_c_i].af_unix = af_unix; |