Return-Path: Delivered-To: apmail-incubator-celix-dev-archive@minotaur.apache.org Received: (qmail 26135 invoked from network); 15 Apr 2011 08:01:44 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 15 Apr 2011 08:01:44 -0000 Received: (qmail 27546 invoked by uid 500); 15 Apr 2011 08:01:43 -0000 Delivered-To: apmail-incubator-celix-dev-archive@incubator.apache.org Received: (qmail 27516 invoked by uid 500); 15 Apr 2011 08:01:39 -0000 Mailing-List: contact celix-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: celix-dev@incubator.apache.org Delivered-To: mailing list celix-dev@incubator.apache.org Received: (qmail 27508 invoked by uid 99); 15 Apr 2011 08:01:36 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 Apr 2011 08:01:36 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of a.broekhuis@gmail.com designates 74.125.82.175 as permitted sender) Received: from [74.125.82.175] (HELO mail-wy0-f175.google.com) (74.125.82.175) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 15 Apr 2011 08:01:28 +0000 Received: by wye20 with SMTP id 20so2279287wye.6 for ; Fri, 15 Apr 2011 01:01:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:date:message-id:subject:from:to :content-type; bh=IeJspfCNqzZNiOlKnWPioKz7tLnbNXm/W53Iz3nfj6U=; b=xmEfpzddAAhcbPhaUpT4wxMP/XVeIeOV8aBm+pqzcRKHBAFu3N6VETom89v6F6x52V Bo+LlVtJtqEIzvBAXqqDjaedfP2C/L0oxC2KX3mowa2olOvqCKxle6MVJM5W3C5MorZk j1HjdqRnEDmhHeKdlZDgCAG8dZB62puZkvx0I= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=jfV7Fb1lr7z4zXvA2uB9NXoFyLqyRW6L+fW+KXhBjRn6SC1gLnM0GWzg/2Lw1u4jW0 58vxVl5JRLtPUq5PbKUwX3KgiGbNgDFB1VIoAD/F/nsLiEQ92v3E2DJBxyOU3Y/Y8lcd GYS/S6Ww45u+lJhxqrw7bvjZseoRJ/6HG3sCA= MIME-Version: 1.0 Received: by 10.216.178.132 with SMTP id f4mr7248903wem.62.1302854468475; Fri, 15 Apr 2011 01:01:08 -0700 (PDT) Received: by 10.216.45.74 with HTTP; Fri, 15 Apr 2011 01:01:08 -0700 (PDT) Date: Fri, 15 Apr 2011 10:01:08 +0200 Message-ID: Subject: Usage of Apache Portable Runtime in Celix From: Alexander Broekhuis To: celix-dev@incubator.apache.org Content-Type: text/plain; charset=ISO-8859-1 X-Virus-Checked: Checked by ClamAV on apache.org Hi all, Some while ago I started looking at the usage of APR in Celix. APR provides an abstraction to OS specific tasks (file io, threading etc), the use of APR possible makes it a lot easier to port Celix to different platforms. Also, APR uses memory pools for allocation and deallocation, this could make memory management easier. Memory pools can, for example, be used for: - each bundle (create during installation, destroy during uninstallation/shutdown) - each started component (create during activator create, destroy during activator stop) etc. To be able to make this work, it is important to define the lifecycle of "objects" in the framework. This makes it possible to keep the dynamics, but loose all freeing and destroying of allocations throughout the code. Of course there are also some issues, mostly concerning with the target platforms of Celix. One of the goals is to be able to use Celix in embedded environments. APR currently does provide support for most uses OSed (linux, windows, bsd, ...) but not for embedded platforms such as TI's SYS/BIOS (previously named DSP/BIOS). Maybe (part of) the APR headers can be used to implement it for other platforms. I would like to know if this is something we can use in Celix, and maybe if there is someone with more knowledge about APR who can help look at how APR can be integrated and used. -- With kind regards, Alexander Broekhuis