bug-apl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-apl] Android code compatibility issues


From: Elias Mårtenson
Subject: Re: [Bug-apl] Android code compatibility issues
Date: Mon, 2 Jun 2014 23:07:03 +0800

I'm currently creating a new configure flag: --with-android. When set, it disables the APs completely, as well as stubs the shm functions to return -1.

I'll send you diffs for your reference as soon as it all works.

Regards,
Elias


On 2 June 2014 23:03, Juergen Sauermann <address@hidden> wrote:
Hi Elias,

most likely UDP will be replaced by TCP or SCTP. Step 1 is a server holding the data that is now
kept in shared memory. Step 2 is then TCP or SCTP communication between APL interpreters to
lift the current 64kB limit on variable size caused by UDP.

Shared variables are a left-over for IBM compatibility therefore my priority on that is kind of low,
Probably checking for shm_open() in ./configure is a short-term work around until the shared memory
is gone completely.

/// Jürgen



On 06/02/2014 04:42 PM, Elias Mårtenson wrote:
That's great. Thanks. Does that mean that the UDP-based IPC will also go away? (doing that is problematic on Android, and one should use a different API which has very different semantics. I'd rather not have to mess with that at all. :-) ).

Regards,
Elias


On 2 June 2014 22:41, Juergen Sauermann <address@hidden> wrote:
Hi Elias,

I have removed langinfo.h (a left-over from internationalization which I removed earlier, SVN 307.

shm_open() and shm_unlink will go away long-term because I will move the shared memory database to a
separate thread. Just didn't have enough time yet to do that.

/// Jürgen



On 06/02/2014 10:53 AM, Elias Mårtenson wrote:
I've compiled GNU APL for Android, and I'm about to start working on the user interface. Building it was remarkably simple, but it exposed two small issues that required some code changes:

First of all, SystemVariable.cc includes "langinfo.h". This file is not available on Android, but simply commenting this one out fixed the issue. Is it even needed anywhere else? Can it be completely removed? If not, can it be placed inside some #ifdef?

The second issue is that the SHM calls don't exist on Android. I solved it by creating versions of shm_open() and shm_unlink() that simply returns -1 (and sets errno to ENOSYS). This makes the code compile, but it's pretty ugly. Would it make sense to provide a configure option to disable the use of shared memory? (and, by extension, the AP's)

Regards,
Elias





reply via email to

[Prev in Thread] Current Thread [Next in Thread]