Tags: jeffpc/blahgd
Tags
utilities & tests: no longer need an explicit libjeffpc initialization
Utilities and tests don't need the explicit initialization. There were two
reasons blahg code did it:
(1) memory allocation purposes - making sure that the libjeffpc slab
allocator was initialized
(2) setting up a log function - to direct errors to syslog
Recently, libjeffpc changed so that it uses shared object constructors,
therefore #1 is no longer a requirement. And as far as #2 is concerned, the
utilities and tests don't want to spam syslog anyway. Previously, they
accomplished this by setting BLAHG_DISABLE_SYSLOG=1. Since not logging is
the default for libjeffpc, we can accomplish the same thing by not giving it
the custom ops vector and relying on the defaults.
Signed-off-by: Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
Good news, everyone! The sqlite3 database that was causing all sorts of cache invalidation related headaches is gone! Instead, the daemon just reads everything into memory. This seems to be marginally faster and it seems to scale better too. Only time will tell if this was a good idea.
MIT license After way too much thought, I decided that the MIT license is the way to go. This is the first version that has any license on it. Quite exciting! Other than that, the one big (technical) change is the logging of every request. I expect this to get useless/tiresome, but until then...disk is cheap.
Conditional templates Yep, after years of living without conditional markup in the template language, I finally bit the bullet and implemented simple conditional logic. It doesn't support much, but it supports enough to get rid of the two biggest annoyances: the "previous page" and "next page" links going off to infinity, and posts with no comments failing to validate because of an empty <ol> tag. Other than than, a couple of memory leaks were addressed, the str and req structures are now allocated using umem caches, and finally the requests keep track of assorted latencies.
PreviousNext