aboutsummaryrefslogtreecommitdiff
path: root/src/usocket.c
diff options
context:
space:
mode:
authorCaleb Maclennan <caleb@alerque.com>2023-11-10 09:12:04 +0300
committerCaleb Maclennan <caleb@alerque.com>2023-11-10 09:12:04 +0300
commit5c4fc93d5f4137bf4c22ddf1a048c907a4a26727 (patch)
treea9a68e1f6a9c3bfe2b64fa1c3a4098865b7d3b5d /src/usocket.c
parentccef3bc4e2aa6ee5b997a80aabb58f4ff0b0e98f (diff)
parent43a97b7f0053313b43906371dbdc226271e6c8ab (diff)
downloadluasocket-hjelmeland-patch-1.tar.gz
luasocket-hjelmeland-patch-1.tar.bz2
luasocket-hjelmeland-patch-1.zip
Merge branch 'master' into hjelmeland-patch-1hjelmeland-patch-1
Diffstat (limited to '')
-rw-r--r--src/usocket.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/usocket.c b/src/usocket.c
index 8adc573..7965db6 100644
--- a/src/usocket.c
+++ b/src/usocket.c
@@ -6,12 +6,14 @@
6* The penalty of calling select to avoid busy-wait is only paid when 6* The penalty of calling select to avoid busy-wait is only paid when
7* the I/O call fail in the first place. 7* the I/O call fail in the first place.
8\*=========================================================================*/ 8\*=========================================================================*/
9#include <string.h> 9#include "luasocket.h"
10#include <signal.h>
11 10
12#include "socket.h" 11#include "socket.h"
13#include "pierror.h" 12#include "pierror.h"
14 13
14#include <string.h>
15#include <signal.h>
16
15/*-------------------------------------------------------------------------*\ 17/*-------------------------------------------------------------------------*\
16* Wait for readable/writable/connected socket with timeout 18* Wait for readable/writable/connected socket with timeout
17\*-------------------------------------------------------------------------*/ 19\*-------------------------------------------------------------------------*/
@@ -76,7 +78,7 @@ int socket_waitfd(p_socket ps, int sw, p_timeout tm) {
76* Initializes module 78* Initializes module
77\*-------------------------------------------------------------------------*/ 79\*-------------------------------------------------------------------------*/
78int socket_open(void) { 80int socket_open(void) {
79 /* instals a handler to ignore sigpipe or it will crash us */ 81 /* installs a handler to ignore sigpipe or it will crash us */
80 signal(SIGPIPE, SIG_IGN); 82 signal(SIGPIPE, SIG_IGN);
81 return 1; 83 return 1;
82} 84}
@@ -234,7 +236,7 @@ int socket_sendto(p_socket ps, const char *data, size_t count, size_t *sent,
234 *sent = 0; 236 *sent = 0;
235 if (*ps == SOCKET_INVALID) return IO_CLOSED; 237 if (*ps == SOCKET_INVALID) return IO_CLOSED;
236 for ( ;; ) { 238 for ( ;; ) {
237 long put = (long) sendto(*ps, data, count, 0, addr, len); 239 long put = (long) sendto(*ps, data, count, 0, addr, len);
238 if (put >= 0) { 240 if (put >= 0) {
239 *sent = put; 241 *sent = put;
240 return IO_DONE; 242 return IO_DONE;
@@ -438,14 +440,15 @@ const char *socket_gaistrerror(int err) {
438 case EAI_FAMILY: return PIE_FAMILY; 440 case EAI_FAMILY: return PIE_FAMILY;
439 case EAI_MEMORY: return PIE_MEMORY; 441 case EAI_MEMORY: return PIE_MEMORY;
440 case EAI_NONAME: return PIE_NONAME; 442 case EAI_NONAME: return PIE_NONAME;
443#ifdef EAI_OVERFLOW
441 case EAI_OVERFLOW: return PIE_OVERFLOW; 444 case EAI_OVERFLOW: return PIE_OVERFLOW;
445#endif
442#ifdef EAI_PROTOCOL 446#ifdef EAI_PROTOCOL
443 case EAI_PROTOCOL: return PIE_PROTOCOL; 447 case EAI_PROTOCOL: return PIE_PROTOCOL;
444#endif 448#endif
445 case EAI_SERVICE: return PIE_SERVICE; 449 case EAI_SERVICE: return PIE_SERVICE;
446 case EAI_SOCKTYPE: return PIE_SOCKTYPE; 450 case EAI_SOCKTYPE: return PIE_SOCKTYPE;
447 case EAI_SYSTEM: return strerror(errno); 451 case EAI_SYSTEM: return strerror(errno);
448 default: return gai_strerror(err); 452 default: return LUA_GAI_STRERROR(err);
449 } 453 }
450} 454}
451