~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to vio/vio.c

  • Committer: Brian Aker
  • Date: 2008-07-09 18:43:25 UTC
  • Revision ID: brian@tangent.org-20080709184325-a9w4l53fm3defagj
Cleanup in VIO to remove dead options

Show diffs side-by-side

added added

removed removed

Lines of Context:
43
43
  if ((flags & VIO_BUFFERED_READ) &&
44
44
      !(vio->read_buffer= (char*)my_malloc(VIO_READ_BUFFER_SIZE, MYF(MY_WME))))
45
45
    flags&= ~VIO_BUFFERED_READ;
46
 
#ifdef __WIN__ 
47
 
  if (type == VIO_TYPE_NAMEDPIPE)
48
 
  {
49
 
    vio->viodelete      =vio_delete;
50
 
    vio->vioerrno       =vio_errno;
51
 
    vio->read           =vio_read_pipe;
52
 
    vio->write          =vio_write_pipe;
53
 
    vio->fastsend       =vio_fastsend;
54
 
    vio->viokeepalive   =vio_keepalive;
55
 
    vio->should_retry   =vio_should_retry;
56
 
    vio->was_interrupted=vio_was_interrupted;
57
 
    vio->vioclose       =vio_close_pipe;
58
 
    vio->peer_addr      =vio_peer_addr;
59
 
    vio->vioblocking    =vio_blocking;
60
 
    vio->is_blocking    =vio_is_blocking;
61
 
    vio->timeout        =vio_ignore_timeout;
62
 
  }
63
 
  else                                  /* default is VIO_TYPE_TCPIP */
64
 
#endif
65
 
#ifdef HAVE_SMEM 
66
 
  if (type == VIO_TYPE_SHARED_MEMORY)
67
 
  {
68
 
    vio->viodelete      =vio_delete;
69
 
    vio->vioerrno       =vio_errno;
70
 
    vio->read           =vio_read_shared_memory;
71
 
    vio->write          =vio_write_shared_memory;
72
 
    vio->fastsend       =vio_fastsend;
73
 
    vio->viokeepalive   =vio_keepalive;
74
 
    vio->should_retry   =vio_should_retry;
75
 
    vio->was_interrupted=vio_was_interrupted;
76
 
    vio->vioclose       =vio_close_shared_memory;
77
 
    vio->peer_addr      =vio_peer_addr;
78
 
    vio->vioblocking    =vio_blocking;
79
 
    vio->is_blocking    =vio_is_blocking;
80
 
    vio->timeout        =vio_ignore_timeout;
81
 
  }
82
 
  else
83
 
#endif   
84
46
  {
85
47
    vio->viodelete      =vio_delete;
86
48
    vio->vioerrno       =vio_errno;
123
85
    sprintf(vio->desc,
124
86
            (vio->type == VIO_TYPE_SOCKET ? "socket (%d)" : "TCP/IP (%d)"),
125
87
            vio->sd);
126
 
#if !defined(__WIN__)
127
88
#if !defined(NO_FCNTL_NONBLOCK)
128
89
    /*
129
90
      We call fcntl() to set the flags and then immediately read them back
142
103
    (void) ioctl(sd,FIOSNBIO,0);
143
104
    vio->fcntl_mode &= ~O_NONBLOCK;
144
105
#endif
145
 
#else /* !defined(__WIN__) */
146
 
    {
147
 
      /* set to blocking mode by default */
148
 
      ulong arg=0, r;
149
 
      r = ioctlsocket(sd,FIONBIO,(void*) &arg);
150
 
      vio->fcntl_mode &= ~O_NONBLOCK;
151
 
    }
152
 
#endif
153
 
  }
154
 
  DBUG_RETURN(vio);
155
 
}
156
 
 
157
 
 
158
 
#ifdef __WIN__
159
 
 
160
 
Vio *vio_new_win32pipe(HANDLE hPipe)
161
 
{
162
 
  Vio *vio;
163
 
  DBUG_ENTER("vio_new_handle");
164
 
  if ((vio = (Vio*) my_malloc(sizeof(Vio),MYF(MY_WME))))
165
 
  {
166
 
    vio_init(vio, VIO_TYPE_NAMEDPIPE, 0, hPipe, VIO_LOCALHOST);
167
 
    strmov(vio->desc, "named pipe");
168
 
  }
169
 
  DBUG_RETURN(vio);
170
 
}
171
 
 
172
 
#ifdef HAVE_SMEM
173
 
Vio *vio_new_win32shared_memory(NET *net,HANDLE handle_file_map, HANDLE handle_map,
174
 
                                HANDLE event_server_wrote, HANDLE event_server_read,
175
 
                                HANDLE event_client_wrote, HANDLE event_client_read,
176
 
                                HANDLE event_conn_closed)
177
 
{
178
 
  Vio *vio;
179
 
  DBUG_ENTER("vio_new_win32shared_memory");
180
 
  if ((vio = (Vio*) my_malloc(sizeof(Vio),MYF(MY_WME))))
181
 
  {
182
 
    vio_init(vio, VIO_TYPE_SHARED_MEMORY, 0, 0, VIO_LOCALHOST);
183
 
    vio->handle_file_map= handle_file_map;
184
 
    vio->handle_map= handle_map;
185
 
    vio->event_server_wrote= event_server_wrote;
186
 
    vio->event_server_read= event_server_read;
187
 
    vio->event_client_wrote= event_client_wrote;
188
 
    vio->event_client_read= event_client_read;
189
 
    vio->event_conn_closed= event_conn_closed;
190
 
    vio->shared_memory_remain= 0;
191
 
    vio->shared_memory_pos= handle_map;
192
 
    vio->net= net;
193
 
    strmov(vio->desc, "shared memory");
194
 
  }
195
 
  DBUG_RETURN(vio);
196
 
}
197
 
#endif
198
 
#endif
 
106
  }
 
107
  DBUG_RETURN(vio);
 
108
}
199
109
 
200
110
 
201
111
void vio_delete(Vio* vio)