aboutsummaryrefslogtreecommitdiff
path: root/src/usocket.c
diff options
context:
space:
mode:
authorDiego Nehab <diego@tecgraf.puc-rio.br>2004-07-16 06:48:48 +0000
committerDiego Nehab <diego@tecgraf.puc-rio.br>2004-07-16 06:48:48 +0000
commite4e2223cff658a7016724a625ebbd3dacb92a8f9 (patch)
treeaac49c61149d30bf11219ab8d9989915bf7bee37 /src/usocket.c
parent9a79d500eb3e015f5bf579aab714916d49c1f289 (diff)
downloadluasocket-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.c18
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) {
179int sock_accept(p_sock ps, p_sock pa, SA *addr, socklen_t *len, p_tm tm) { 179int 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}