notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
Want a good monitor light? See my photosAll times are UTC
Ukraine
This referral link gives you 10% off a Fastmail.com account and gives me a discount on my Fastmail account.

Get notified when packages are built

A new feature has been added. FreshPorts already tracks package built by the FreeBSD project. This information is displayed on each port page. You can now get an email when FreshPorts notices a new package is available for something on one of your watch lists. However, you must opt into that. Click on Report Subscriptions on the right, and New Package Notification box, and click on Update.

Finally, under Watch Lists, click on ABI Package Subscriptions to select your ABI (e.g. FreeBSD:14:amd64) & package set (latest/quarterly) combination for a given watch list. This is what FreshPorts will look for.

non port: databases/lmdb/files/patch-mdb.c

Number of commits found: 6

Wednesday, 10 Feb 2021
23:32 delphij search for other commits by this committer
Update to 0.9.28.
Original commitRevision:564911 
Tuesday, 16 Jun 2020
21:51 delphij search for other commits by this committer
databases/lmdb: in db_env_close0(), destroy robust mutexes if we are
the only remaining user.

When closing an lmdb database, all memory and file descriptor resources
are released, including the shared memory pages that contained the
robust mutex.

However, before this commit, prior to unmapping the pages that contained
the robust mutexex, lmdb did not destroy the mutexes first.  This would
create a problem when an application opens and closes a database, then
open it again.

According to libthr(3), by default, a shared lock backed by a mapped
file in memory is automatically destroyed on the last unmap of the
corresponding file' page, which is allowed by POSIX.

After unmapping the shared pages, the kernel writes off all active
robust mutexes associated with these pages.  However, the userland
threading library still keeps the record (pshared_lookup in
thr_pshared.c of libthr) for these objects as they are not really
destroyed before, so that it don't have to ask the kernel every
time when looking them up.

Now, a later re-open of the database might have mapped the lock file
to the same memory location.  Because the threading library have
remembered the robust mutex object, it would just reuse it even though
it was already invalid from kernel's point of view.  Unfortunately,
regular lock operations would still work for this process.

Should another lmdb process opens the same database, it would attempt
to obtain the robust mutex (no longer recognized by kernel) because it
would see another process holding a file lock, but that would fail
because the robust mutex is invalid for the kernel.

Explicitly destroy the mutex if we are the last remaining user to ensure
the mutex is always in a known defined state.

OpenLDAP ITS #9278

With debugging help from:	kib
PR:				244493
MFH:				2020Q2
Original commitRevision:539379 
Saturday, 7 Dec 2019
22:47 delphij search for other commits by this committer
 - Drop support of FreeBSD < 11.0
 - Make use of robust mutexes.
Original commitRevision:519246 
Monday, 3 Sep 2018
12:08 jbeich search for other commits by this committer
databases/lmdb: back out r478269 due to cyrus-imapd30 instability

Robust mutexes were already enabled but r478269 disabled POSIX
semaphores. It appears both are only mutually exclusive on Android and
old GNU libc.

PR:		230564
Reported by:	Volodymyr Kostyrko
Pointy hat to:	jbeich
Original commitRevision:478856 
Tuesday, 28 Aug 2018
00:01 jbeich search for other commits by this committer
databases/lmdb: switch to robust mutexes on FreeBSD >= 11

PR:		230564
Approved by:	delphij (maintainer)
Original commitRevision:478269 
Monday, 25 Sep 2017
09:37 gahr search for other commits by this committer
databases/lmdb: use fdatasync where supported

Submitted upstream in http://www.openldap.org/its/index.cgi?findid=8739

PR:		222514
Submitted by:	gahr
Approved by:	delphij (maintainer, via private email)
Original commitRevision:450579 

Number of commits found: 6