Commit graph

939 commits

Author SHA1 Message Date
889a16856d Add Db(3) 2022-11-26 20:39:47 +00:00
e066e90d1d Finish documenting Util 2022-11-26 19:04:47 +00:00
6900d0649e Begin working on Util man page 2022-11-25 21:54:57 +00:00
f07ea912b2 Add Log(3) to index 2022-11-25 16:52:27 +00:00
2c0e7e5d65 Fix incorrect function declaration. 2022-11-25 16:52:12 +00:00
8045c583ba Write man page for Log 2022-11-25 16:40:47 +00:00
70bdf81df7 Fix references to old LOG_ constants 2022-11-24 18:51:07 +00:00
399939654a Fix a few areas where obscure compilers sometimes choke 2022-11-23 17:31:57 +00:00
7544a97c7d Format source code, add .exrc 2022-11-23 14:56:31 +00:00
84f311ae09 Don't make assumptions about where the config file is. 2022-11-23 14:31:05 +00:00
be3b73f2af Fix cache size warning 2022-11-23 00:53:06 +00:00
520b062dbb Should probably make sure this succeeds. 2022-11-23 00:44:29 +00:00
fb56c3fca6 Clean up output a little 2022-11-22 23:57:58 +00:00
dce9788adf Fix a bug when overriding CFLAGS with .env 2022-11-22 22:31:53 +00:00
b155d0dbe4 ftruncate() technically lives in unistd.h
It should be included to prevent warnings on some compilers.
2022-11-22 22:31:36 +00:00
21d97656e8 Update TODO items; refactor some milestones. 2022-11-21 21:18:00 +00:00
7f883fc92e Remove debugging statements... whoops!
I'm usually pretty good about this.
2022-11-21 21:09:05 +00:00
973e826e57 Fix bug in floating objects to mostRecent 2022-11-21 21:07:40 +00:00
40e5c1ef2a Fix some bugs in DbCreate() regarding UtilMkdir() 2022-11-21 20:59:22 +00:00
789baf33a1 Make Db interfaces take varargs.
This makes it much more flexible, at the expense of making it a little
more fragile. I can think of a number of scenarios where we'll have
paths that have variables in multiple spots, and I don't want to do
sprintf() magic every time I need to access an object at one of those
paths.
2022-11-21 20:31:37 +00:00
a0304f4062 Move where we open the database 2022-11-21 16:39:38 +00:00
0c6c1e5b19 Notify the user about the minimum max-cache instead of silently setting it. 2022-11-21 16:22:50 +00:00
cd584c1e93 Lock objects on disk if they're locked in memory.
This requires hanging onto an open file handle, and doesn't require
explicit unlocking, because POSIX says files are unlocked when their
descriptors are closed.
2022-11-21 16:13:11 +00:00
f56a067456 Make Makefile more portable 2022-11-20 19:31:04 +00:00
d7f5a6798d Add some more porting instructions 2022-11-20 15:23:16 +00:00
70fd925c98 Make production configuration file more platform-agnostic 2022-11-20 13:25:07 +00:00
0fa2da8177 Don't chroot() on OpenBSD (pledge() causes it to trap here) 2022-11-20 13:19:56 +00:00
c23f817a55 Rename Makefile.OpenBSD to just Makefile (other ports may want it) 2022-11-20 13:01:50 +00:00
46dbc7dad5 Change build to all. Apparently OpenBSD ports requires this. 2022-11-20 02:05:02 +00:00
247aeabf66 Begin preliminary work on an OpenBSD port. 2022-11-20 01:53:15 +00:00
845658e0ac Obscure bug when using OpenBSD make 2022-11-20 01:40:55 +00:00
2293b57b88 Fix main title size 2022-11-20 00:19:00 +00:00
71a6842302 Remove install/uninstall recipes, and replace telodendria-setup with package
man page.
2022-11-20 00:12:53 +00:00
8db83fe1fc Don't have the synopsis table be styled like real tables. 2022-11-19 23:22:21 +00:00
d61770c772 Make mandoc link to man pages
Now web users can just click on the references and be taken to that page.
Unfortunately this generates a lot of broken links as well, for example
all the times I like to a system manual page that I don't copy to the
web server.
2022-11-19 23:15:08 +00:00
8d203f6cb8 Pull OpenBSD 7.2 mandoc.css
Somewhere between OpenBSD 7.1 and 7.2, mandoc changed the way it does a
lot of things. This commit pulls the base mandoc.css, and then includes it
in the Telodendria sylesheet. It is no longer feasable to customize the
mandoc stylesheet much, so luckily the default style is good enough.
2022-11-19 00:34:41 +00:00
e8b80e4c69 Clarify development notice. 2022-11-18 23:53:29 +00:00
9b7acbf586 New color scheme 2022-11-18 23:51:03 +00:00
fb7363d97e Don't uninstall the configuration file. 2022-11-18 22:49:06 +00:00
fe29b9f848 Remove unit testing code.
Until I can do it properly, I don't want to do it at all.
2022-11-18 22:27:23 +00:00
07f4ecd2d7 Make a number of improvements to cache handling.
- Items that are too big for the cache are now no longer immediately
  evicted; everything else is. This is probably not desirable, but it is
  not unexpected.
- Multithreading now should work as expected; DbRefs are locked before
  they are updated from the disk, and they are not evicted from the cache
  if they are locked by another thread.
- The cache may be no smaller than 1024 bytes. Previously the caller of
  DbOpen() could choose to disable the cache, and provisions were made in
  the code to support this, but this is now no longer possible because
  without the cache, there would be no way to know what files were open,
  which could lead to a race condition if two threads open the same file.
2022-11-18 22:17:56 +00:00
045c6d8644 Cache eviction 2022-11-18 20:42:08 +00:00
e7ad166877 Fix some memory leaks in Db 2022-11-18 19:36:15 +00:00
f6851de75f Fix a few bugs in JsonDecode(). It should now properly decode objects. 2022-11-18 14:51:44 +00:00
2e6c129263 Fix a mutex bug in Db and some memory errors in Json 2022-11-17 23:51:45 +00:00
d26fad4619 Add UtilMkdir() to recursively make directories 2022-11-17 22:57:29 +00:00
9597894356 Fix some warnings on GCC.
These aren't really anything to be concerned about, but making GCC feel good
about my code makes me feel better about my code.
2022-11-17 19:33:59 +00:00
46cc1df385 Do some Db work 2022-11-15 18:20:05 +00:00
9494016d2d Apply #34 2022-11-13 17:10:25 +00:00
a356403cfd Finish DbComputeSize() 2022-11-12 18:26:31 +00:00