[issue1520] POSIX message queues port

Stathis Kamperis (via DragonFly issue tracker) sinknull at leaf.dragonflybsd.org
Fri Sep 18 03:53:41 PDT 2009


New submission from Stathis Kamperis <ekamperi at gmail.com>:

Salute.

I have ported the POSIX messages queues NetBSD implementation to Dfly, for the
Summer of Code project.

The code is available here:
http://gitweb.dragonflybsd.org/~beket/dragonfly.git/shortlog/refs/heads/mq-sync-clean

It is synced (hence the -sync in the branch name) with the latest netbsd
changes.   I will be removing the debug k/printfs the following days, plus any
other commented out code of the original source (hence the -clean part).

I have written a bunch of test cases, which are available here:
http://gitweb.dragonflybsd.org/~beket/pcca-tests.git/tree/master:/mqueue.h

There s also a utility that lists active message queues similar to ipcs(1).
E.g.,
$ gcc kvm-mqueue.c -o kvm-mqueue -lkvm -Wall -W -ansi -pedantic
$ sudo ./kvm-mqueue
Global list of the message queues:
               Name        Ptr       Mode      Flags Ref MaxMsg MsgSze CurMsg
          /nonblock 0xcc7c3780  rwxr--r--       RW--   0     32   1004      0
              /many 0xcc796924  rwxr--r--       RWB-   5     32   1004      0
            /tmqoc2 0xcc796780  rwxr-xr-x       RWB-   0     32   1004      0
$

The port works very well. There are some glitches, but I`d rather tackle them,
after it is integrated to master.
I have also ran an almost-complete pbulk to verify that I haven t broken
horribly the pkgsrc. I have managed to compile ~6200 packages and at that point
I didn t have more than 700 failures.

I could use a helping hand though on how to handle the merge. Perhaps I should
do a squash merge and then create the following commits?
1. mqueues commit
2. librt commit
3. other stuff that don t fit to 1/2

Any thoughts/ideas would be appreciated.

Best regards,
Stathis

----------
assignedto: Beket
keyword: kernel, standards
messages: 7446
nosy: Beket
priority: feature
status: unread
title: POSIX message queues port

_____________________________________________________
DragonFly issue tracker <bugs at lists.dragonflybsd.org>
<http://bugs.dragonflybsd.org/issue1520>
_____________________________________________________





More information about the Bugs mailing list