From owner-freebsd-multimedia Fri Jun 5 23:32:35 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id XAA01233 for freebsd-multimedia-outgoing; Fri, 5 Jun 1998 23:32:35 -0700 (PDT) (envelope-from owner-freebsd-multimedia@FreeBSD.ORG) Received: from cimlogic.com.au (cimlog.lnk.telstra.net [139.130.51.31]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id XAA01228 for ; Fri, 5 Jun 1998 23:32:28 -0700 (PDT) (envelope-from jb@cimlogic.com.au) Received: (from jb@localhost) by cimlogic.com.au (8.8.8/8.8.7) id QAA01014; Sat, 6 Jun 1998 16:34:25 +1000 (EST) (envelope-from jb) From: John Birrell Message-Id: <199806060634.QAA01014@cimlogic.com.au> Subject: Re: Remote device multiplexing In-Reply-To: <199806060245.TAA03769@rah.star-gate.com> from Amancio Hasty at "Jun 5, 98 07:45:07 pm" To: hasty@rah.star-gate.com (Amancio Hasty) Date: Sat, 6 Jun 1998 16:34:25 +1000 (EST) Cc: nirva@ishiboo.com, rhh@ct.picker.com, multimedia@FreeBSD.ORG, hasty@rah.star-gate.com X-Mailer: ELM [version 2.4ME+ PL40 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-freebsd-multimedia@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Amancio Hasty wrote: > ACE it is in a little bad shape right now however John is working > out the kings in libc_r;however, JACE should do the job . The problem with ACE is that the C++ code that is generated by g++ version 2.7.2.1 (from current) is bogus. ACE declares destructors using thread specific keys. When the last of these destructors is called by libc_r from the _cleanup_specific function (as part of a thread exiting), it does not return to _cleanup_specific() where it should unlock the key table entry. Instead execution restarts in pthread_exit() as though _cleanup_specific() had returned. I don't see how I can program around that. Following all those pissy little functions that C++ creates is really annoying. The amount of shit that ACE is doing in that destructor call is amazing. It tries to do as much thread management as libc_r is doing. Ugh. This stuff really shouldn't be layered on top of POSIX threads. It should have it's own built in threads to avoid all the duplication of code. I guess I have to go to gcc 2.8.1 like the ACE web page says. -- John Birrell - jb@cimlogic.com.au; jb@freebsd.org http://www.cimlogic.com.au/ CIMlogic Pty Ltd, GPO Box 117A, Melbourne Vic 3001, Australia +61 418 353 137 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-multimedia" in the body of the message