chiark
/
gitweb
/
~ianmdlvl
/
secnet.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
util: Provide async_linebuf_read
[secnet.git]
/
udp.c
diff --git
a/udp.c
b/udp.c
index 30bf73f7476030df04a2d99106423cb021f6ccdc..5ad0fd44fd6b175e34d2aaf0c1b60135854d6873 100644
(file)
--- a/
udp.c
+++ b/
udp.c
@@
-206,8
+206,7
@@
bool_t udp_make_socket(struct udpcommon *uc, struct udpsock *us,
us->fd=socket(addr->sa.sa_family, SOCK_DGRAM, IPPROTO_UDP);
if (us->fd<0) FAIL("socket");
us->fd=socket(addr->sa.sa_family, SOCK_DGRAM, IPPROTO_UDP);
if (us->fd<0) FAIL("socket");
- if (fcntl(us->fd, F_SETFL, fcntl(us->fd, F_GETFL)|O_NONBLOCK)==-1)
- FAIL("fcntl(set O_NONBLOCK)");
+ setnonblock(us->fd);
setcloexec(us->fd);
#ifdef CONFIG_IPV6
if (addr->sa.sa_family==AF_INET6) {
setcloexec(us->fd);
#ifdef CONFIG_IPV6
if (addr->sa.sa_family==AF_INET6) {
@@
-232,6
+231,7
@@
bool_t udp_make_socket(struct udpcommon *uc, struct udpsock *us,
char *argv[5], addrstr[33], portstr[5];
const char *addrfam;
int port;
char *argv[5], addrstr[33], portstr[5];
const char *addrfam;
int port;
+ afterfork();
switch (addr->sa.sa_family) {
case AF_INET:
sprintf(addrstr,"%08lX",(long)addr->sin.sin_addr.s_addr);
switch (addr->sa.sa_family) {
case AF_INET:
sprintf(addrstr,"%08lX",(long)addr->sin.sin_addr.s_addr);