Project

General

Profile

Actions

Bug #1520

closed

POSIX message queues port

Added by Anonymous about 15 years ago. Updated about 15 years ago.

Status:
Closed
Priority:
Low
Assignee:
-
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:

Description

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

Actions

Also available in: Atom PDF