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 <juergen.sauerm...@t-online.de
<mailto:juergen.sauerm...@t-online.de>> 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