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 | } |
