diff options
author | Diego Nehab <diego@tecgraf.puc-rio.br> | 2004-07-16 06:48:48 +0000 |
---|---|---|
committer | Diego Nehab <diego@tecgraf.puc-rio.br> | 2004-07-16 06:48:48 +0000 |
commit | e4e2223cff658a7016724a625ebbd3dacb92a8f9 (patch) | |
tree | aac49c61149d30bf11219ab8d9989915bf7bee37 /src/usocket.c | |
parent | 9a79d500eb3e015f5bf579aab714916d49c1f289 (diff) | |
download | luasocket-e4e2223cff658a7016724a625ebbd3dacb92a8f9.tar.gz luasocket-e4e2223cff658a7016724a625ebbd3dacb92a8f9.tar.bz2 luasocket-e4e2223cff658a7016724a625ebbd3dacb92a8f9.zip |
Fixed a bunch of stuff. Added mike's patches.
Diffstat (limited to 'src/usocket.c')
-rw-r--r-- | src/usocket.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/usocket.c b/src/usocket.c index 4d4f092..0cff17b 100644 --- a/src/usocket.c +++ b/src/usocket.c | |||
@@ -179,11 +179,11 @@ int sock_connect(p_sock ps, SA *addr, socklen_t len, p_tm tm) { | |||
179 | int sock_accept(p_sock ps, p_sock pa, SA *addr, socklen_t *len, p_tm tm) { | 179 | int sock_accept(p_sock ps, p_sock pa, SA *addr, socklen_t *len, p_tm tm) { |
180 | SA daddr; | 180 | SA daddr; |
181 | socklen_t dlen = sizeof(daddr); | 181 | socklen_t dlen = sizeof(daddr); |
182 | int err; | ||
183 | if (*ps == SOCK_INVALID) return IO_CLOSED; | 182 | if (*ps == SOCK_INVALID) return IO_CLOSED; |
184 | if (!addr) addr = &daddr; | 183 | if (!addr) addr = &daddr; |
185 | if (!len) len = &dlen; | 184 | if (!len) len = &dlen; |
186 | for ( ;; ) { | 185 | for ( ;; ) { |
186 | int err; | ||
187 | if ((*pa = accept(*ps, addr, len)) != SOCK_INVALID) return IO_DONE; | 187 | if ((*pa = accept(*ps, addr, len)) != SOCK_INVALID) return IO_DONE; |
188 | err = errno; | 188 | err = errno; |
189 | if (err == EINTR) continue; | 189 | if (err == EINTR) continue; |
@@ -191,7 +191,7 @@ int sock_accept(p_sock ps, p_sock pa, SA *addr, socklen_t *len, p_tm tm) { | |||
191 | if ((err = sock_waitfd(*ps, WAITFD_R, tm)) != IO_DONE) return err; | 191 | if ((err = sock_waitfd(*ps, WAITFD_R, tm)) != IO_DONE) return err; |
192 | } | 192 | } |
193 | /* can't reach here */ | 193 | /* can't reach here */ |
194 | return err; | 194 | return IO_UNKNOWN; |
195 | } | 195 | } |
196 | 196 | ||
197 | /*-------------------------------------------------------------------------*\ | 197 | /*-------------------------------------------------------------------------*\ |
@@ -223,7 +223,7 @@ int sock_send(p_sock ps, const char *data, size_t count, size_t *sent, p_tm tm) | |||
223 | if ((err = sock_waitfd(*ps, WAITFD_W, tm)) != IO_DONE) return err; | 223 | if ((err = sock_waitfd(*ps, WAITFD_W, tm)) != IO_DONE) return err; |
224 | } | 224 | } |
225 | /* can't reach here */ | 225 | /* can't reach here */ |
226 | return err; | 226 | return IO_UNKNOWN; |
227 | } | 227 | } |
228 | 228 | ||
229 | /*-------------------------------------------------------------------------*\ | 229 | /*-------------------------------------------------------------------------*\ |
@@ -247,7 +247,7 @@ int sock_sendto(p_sock ps, const char *data, size_t count, size_t *sent, | |||
247 | if (err != EAGAIN) return err; | 247 | if (err != EAGAIN) return err; |
248 | if ((err = sock_waitfd(*ps, WAITFD_W, tm)) != IO_DONE) return err; | 248 | if ((err = sock_waitfd(*ps, WAITFD_W, tm)) != IO_DONE) return err; |
249 | } | 249 | } |
250 | return err; | 250 | return IO_UNKNOWN; |
251 | } | 251 | } |
252 | 252 | ||
253 | /*-------------------------------------------------------------------------*\ | 253 | /*-------------------------------------------------------------------------*\ |
@@ -269,7 +269,7 @@ int sock_recv(p_sock ps, char *data, size_t count, size_t *got, p_tm tm) { | |||
269 | if (err != EAGAIN) return err; | 269 | if (err != EAGAIN) return err; |
270 | if ((err = sock_waitfd(*ps, WAITFD_R, tm)) != IO_DONE) return err; | 270 | if ((err = sock_waitfd(*ps, WAITFD_R, tm)) != IO_DONE) return err; |
271 | } | 271 | } |
272 | return err; | 272 | return IO_UNKNOWN; |
273 | } | 273 | } |
274 | 274 | ||
275 | /*-------------------------------------------------------------------------*\ | 275 | /*-------------------------------------------------------------------------*\ |
@@ -292,7 +292,7 @@ int sock_recvfrom(p_sock ps, char *data, size_t count, size_t *got, | |||
292 | if (err != EAGAIN) return err; | 292 | if (err != EAGAIN) return err; |
293 | if ((err = sock_waitfd(*ps, WAITFD_R, tm)) != IO_DONE) return err; | 293 | if ((err = sock_waitfd(*ps, WAITFD_R, tm)) != IO_DONE) return err; |
294 | } | 294 | } |
295 | return err; | 295 | return IO_UNKNOWN; |
296 | } | 296 | } |
297 | 297 | ||
298 | /*-------------------------------------------------------------------------*\ | 298 | /*-------------------------------------------------------------------------*\ |
@@ -345,10 +345,10 @@ const char *sock_strerror(int err) { | |||
345 | switch (err) { | 345 | switch (err) { |
346 | case EADDRINUSE: return "eaddrinuse"; | 346 | case EADDRINUSE: return "eaddrinuse"; |
347 | case EACCES: return "eaccess"; | 347 | case EACCES: return "eaccess"; |
348 | case ECONNABORTED: return "econnaborted"; | ||
349 | case ECONNREFUSED: return "econnrefused"; | 348 | case ECONNREFUSED: return "econnrefused"; |
350 | case ECONNRESET: return "econnreset"; | 349 | case ECONNABORTED: return "closed"; |
351 | case ETIMEDOUT: return "etimedout"; | 350 | case ECONNRESET: return "closed"; |
351 | case ETIMEDOUT: return "timedout"; | ||
352 | default: return strerror(errno); | 352 | default: return strerror(errno); |
353 | } | 353 | } |
354 | } | 354 | } |