From - Sat Apr 26 14:57:14 2003
X-UIDL: 3ea96a9d00000123
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <asterisk-dev-admin@lists.digium.com>
Received: from rattler.digium.com (rattler.digium.com [216.207.245.21])
	by quark.dynx.net (8.11.6/8.11.6) with ESMTP id h3QG3Et18853
	for <pchammer@dynx.net>; Sat, 26 Apr 2003 12:03:15 -0400
Received: from rattler.digium.com (localhost.localdomain [127.0.0.1])
	by rattler.digium.com (8.12.5/8.12.5) with ESMTP id h3OM3OiC023366;
	Thu, 24 Apr 2003 17:03:24 -0500
Received: from mail.sigmasoft.com (mail.sigmasoft.com [24.172.18.165])
	by rattler.digium.com (8.12.5/8.12.5) with ESMTP id h3OLsKiC023227
	for <asterisk-dev@lists.digium.com>; Thu, 24 Apr 2003 16:54:20 -0500
Received: from localhost (tholo@localhost.sigmasoft.com [127.0.0.1])
	by mail.sigmasoft.com (8.12.9/8.12.8) with ESMTP id h3OLkZlq009563
	for <asterisk-dev@lists.digium.com>; Thu, 24 Apr 2003 17:46:35 -0400 (EDT)
Message-Id: <200304242146.h3OLkZlq009563@mail.sigmasoft.com>
To: asterisk-dev@lists.digium.com
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-ID: <23856.1051220794.1@mail.sigmasoft.com>
From: Thorsten Lockert <tholo@sigmasoft.com>
Subject: [Asterisk-Dev] Blocking open(2) does not work with some thread implementations
Sender: asterisk-dev-admin@lists.digium.com
Errors-To: asterisk-dev-admin@lists.digium.com
X-BeenThere: asterisk-dev@lists.digium.com
X-Mailman-Version: 2.0.13
Precedence: bulk
Reply-To: asterisk-dev@lists.digium.com
List-Unsubscribe: <http://lists.digium.com/mailman/listinfo/asterisk-dev>,
	<mailto:asterisk-dev-request@lists.digium.com?subject=unsubscribe>
List-Id: Asterisk Developers Mailing List <asterisk-dev.lists.digium.com>
List-Post: <mailto:asterisk-dev@lists.digium.com>
List-Help: <mailto:asterisk-dev-request@lists.digium.com?subject=help>
List-Subscribe: <http://lists.digium.com/mailman/listinfo/asterisk-dev>,
	<mailto:asterisk-dev-request@lists.digium.com?subject=subscribe>
List-Archive: <http://lists.digium.com/pipermail/asterisk-dev/>
Date: Thu, 24 Apr 2003 17:46:34 -0400
Status:   

Some thread implementations have problems when open(2) blocks --
this changes an open on a named pipe to be non-blocking, and resets
the descriptor to be blocking afterwards.

Index: pbx/pbx_wilcalu.c
===================================================================
RCS file: /usr/cvsroot/asterisk/pbx/pbx_wilcalu.c,v
retrieving revision 1.1.1.2
diff -u -r1.1.1.2 pbx_wilcalu.c
--- pbx/pbx_wilcalu.c	16 Mar 2003 22:37:31 -0000	1.1.1.2
+++ pbx/pbx_wilcalu.c	24 Apr 2003 21:47:15 -0000
@@ -58,7 +58,9 @@
 {
 	pthread_t dialstring_thread;
 	char * sendbufptr=sendbuf;
-	int fd=open(dialfile,O_RDONLY);
+	int fd=open(dialfile,O_RDONLY|O_NONBLOCK);
+	int flags = fcntl(fd, F_GETFL);
+	fcntl(fd, F_SETFL, flags & ~O_NONBLOCK);
 	printf("Entered Wil-Calu fd=%d\n",fd);
 	if(fd<0) {
 		printf("Autodial: Unable to open file\n");
--
Thorsten Lockert      | tholo@sigmasoft.com | Universe, n.:
2121 N. Lakeshore Dr. | tholo@openbsd.org   |         The problem.
Chapel Hill, NC 27514 |                     |
_______________________________________________
Asterisk-Dev mailing list
Asterisk-Dev@lists.digium.com
http://lists.digium.com/mailman/listinfo/asterisk-dev


