diff options
Diffstat (limited to 'lib/libc/asr/res_send_async.c')
-rw-r--r-- | lib/libc/asr/res_send_async.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/lib/libc/asr/res_send_async.c b/lib/libc/asr/res_send_async.c index 3404b79c802..52dd5ed84e1 100644 --- a/lib/libc/asr/res_send_async.c +++ b/lib/libc/asr/res_send_async.c @@ -1,4 +1,4 @@ -/* $OpenBSD: res_send_async.c,v 1.23 2015/06/20 01:16:25 jca Exp $ */ +/* $OpenBSD: res_send_async.c,v 1.24 2015/09/09 15:40:04 guenther Exp $ */ /* * Copyright (c) 2012 Eric Faurot <eric@openbsd.org> * @@ -301,17 +301,9 @@ res_send_async_run(struct asr_query *as, struct asr_result *ar) static int sockaddr_connect(const struct sockaddr *sa, int socktype) { - int errno_save, flags, sock; + int errno_save, sock; - if ((sock = socket(sa->sa_family, socktype, 0)) == -1) - goto fail; - - if ((flags = fcntl(sock, F_GETFL, 0)) == -1) - goto fail; - - flags |= O_NONBLOCK; - - if ((flags = fcntl(sock, F_SETFL, flags)) == -1) + if ((sock = socket(sa->sa_family, socktype | SOCK_NONBLOCK, 0)) == -1) goto fail; if (connect(sock, sa, sa->sa_len) == -1) { |