Just finished the first pass of the API docs for queue_spscb 🙂 the first full set of docs for an API.

Still wrestling with one last design question – API names.

For example, we have “lfds700_addonly_singlylinked_list”. So, you know what it is from the name, but the name is long. Currently, that name is fully propagated; the directories have that name, the files have that name, the prototypes have that name.

The reason for it is so people coming to the library can immediately and inherently know what they’re looking at.

I’m thinking though (and this was how it was, until I made the full name fully propagate) I could keep the directory names long form, but change the filenames and prototypes to a shorthand, like this;


Much more compact – but now you rely on the user somewhere seeing the long name, because without it, it’s not lear what that data structure is.

mySQL leap second bug!

I’ve just experienced a leap second bug!

mySQL when it passes through a leap second goes to 100% CPU on one core.

You have to manually set the date to fix it.



First pass at getting the Windows kernel builds is done, for WDK 7.1 and 8.0.

Linux tomoz.

Status update

Reinstalled VC2012 on a fresh VM and have just brought all the VC solutions back up to date.

Now making a clone of the VC2012 VM and adding WDK 8.0 to it, for that build.

After that, onto an Amazon Linux VM for Linux user-mode and kernel-mode.

Amazon addendum

As per earlier post – I tried ordering from Amazon using Tor.

First attempt, password reset, order cancelled.

Second attempt, ditto but also your account is locked and you are NOT told this.

Time for the fix – one to two days.

Turns out of course it ALSO locks your AWS account.

So if you had anything expensive running – tough. You cannot turn it off.

So there’s one hell of a booby-trap here. Order twice using Tor and you can’t access all those expensive by-the-hour VMs you have.

Release incoming, believe it or not

So, I was working away at SMR, debugging the new implementation, then work became ultra busy for a long time (like, minimum twelve hour days) and I lost my mental state.

What I’ve decided to do for now is strip out the SMR stuff, and the benchmark tool, *and just get a release out*.

I’ve just done the necessary and the test application has just passed under debug.

I no longer have access to an ARM platform, but I’ve ordered (tried to order – Amazon foiled my best efforts) a quad-core Pi, and I’ve applied to the GCC compile farm, to get access to 64 bit ARM and POWER.

So for now, it’ll be Windows and Linux, 32 bit and 64 bit, user-mode and kernel-mode. The Linux build in theory works for Android too, but not tested – I’ll set up a build platform for that, but not yet.

So now – I need to make everything build and pass its tests on all platforms, polish the code (need a good polish – been so much work everywhere for so long) and then write the docs.