From 89843ba662bad6c7f4f9438b8c8be584ff1604f1 Mon Sep 17 00:00:00 2001 From: RĂ©mi Denis-Courmont Date: Thu, 20 Aug 2009 10:52:57 +0300 Subject: gisi: PEP: use more portable non-blocking and close-on-exec --- gisi/pep.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gisi/pep.c') diff --git a/gisi/pep.c b/gisi/pep.c index 89c6a808..abfe1069 100644 --- a/gisi/pep.c +++ b/gisi/pep.c @@ -77,10 +77,13 @@ GIsiPEP *g_isi_pep_create(GIsiModem *modem) unsigned ifi = g_isi_modem_index(modem); char buf[IF_NAMESIZE]; - fd = socket(PF_PHONET, SOCK_SEQPACKET|SOCK_NONBLOCK|SOCK_CLOEXEC, 0); + fd = socket(PF_PHONET, SOCK_SEQPACKET, 0); if (fd == -1) return NULL; + fcntl(fd, F_SETFD, FD_CLOEXEC); + fcntl(fd, F_SETFL, O_NONBLOCK|fcntl(fd, F_GETFL)); + if (if_indextoname(ifi, buf) == NULL || setsockopt(fd, SOL_SOCKET, SO_BINDTODEVICE, buf, IF_NAMESIZE)) goto error; -- cgit v1.2.3