develooper Front page | perl.perl5.porters | Postings from April 2000

[ID 20000410.011] POSIX extension lagging

Thread Next
Jarkko Hietaniemi
April 10, 2000 15:52
[ID 20000410.011] POSIX extension lagging
Message ID:

This is a bug report for perl from,
generated with the help of perlbug 1.28 running under perl v5.6.0.

[Please enter your report here]

The POSIX extension of Perl is no more DPOSIX, if that is supposed
to mean "supplying the same interface as POSIX 1003.2".

POSIX 1003.2 is now in its second edition (1996), while the Perl
POSIX extension seems to follow more or less the first edition (1990?).

There are small and medium size editorial changes all over the second
edition but the obviously missing pieces from the Perl interface are
the POSIX threads (basic thread operations, thread scheduling, and
associated features like mutexes and condition variables) and
real-time features like overall scheduling and the POSIX IPC (POSIX
semaphores, shared memory, and message queues), memory locking,
asynchronous I/O, and timers. (For those who can recite POSIX
subcommittees in their sleep: the 1003.1a, 1003.1b, and 1003.1c got
assimilated into 1003.2, IIRC.)

*Whether* the raw POSIX thread interface should be revealed to Perl is
of course a very good question, especially considering the recent
discussion related to the thread model of Perl.  Not having the IPC
(which at least seems to be better designed than the SysV IPC)
is somewhat more bothersome.

At least the documentation of the POSIX extension should state that
thread/RT/IPC stuff is not here, this be 1003.2 Edition 1 level interface.

In case somebody wants to know more about the subject: unfortunately
the POSIX standards aren't available online, and they cost money.
One can, however, broswe for example the Open Group UNIX98
specification available at
(free registration required)
Some APIs in UNIX98 but not in 1003.2 look a lot like they will end up
in some future edition of POSIX 1003.2, such as the read-write locks.

[Please do not change anything below this line]
Site configuration information for perl v5.6.0:

Configured by jhi at Mon Mar 27 20:19:18 EET DST 2000.

Summary of my perl5 (revision 5.0 version 6 subversion 0) configuration:
    osname=dec_osf, osvers=4.0, archname=alpha-dec_osf
    uname='osf1 v4.0 878 alpha '
    config_args='-ders -Dprefix=~/Perl'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
    useperlio=undef d_sfio=undef uselargefiles=define 
    use64bitint=define use64bitall=define uselongdouble=undef usesocks=undef
    cc='cc', optimize='-O4', gccversion=
    cppflags='-std -ieee -D_INTRINSICS -DLANGUAGE_C'
    ccflags ='-std -fprm d -ieee -D_INTRINSICS -DLANGUAGE_C'
    stdchar='unsigned char', d_stdstdio=define, usevfork=false
    intsize=4, longsize=8, ptrsize=8, doublesize=8
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=8
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, usemymalloc=y, prototype=define
  Linker and Libraries:
    ld='ld', ldflags =''
    libpth=/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /var/shlib
    libs=-lgdbm -ldbm -ldb -lm -liconv
    libc=, so=so, useshrplib=true,
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='  -Wl,-rpath,/u/vieraat/vieraat/jhi/Perl/lib/perl5/5.6.0/alpha-dec_osf/CORE'
    cccdlflags=' ', lddlflags='-shared -expect_unresolved "*" -msym -std -s'

Locally applied patches:

@INC for perl v5.6.0:

Environment for perl v5.6.0:
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PERL_BADLANG (unset)

Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About