I have been taking a look at APR (the Apache Portable Runtime) library that Subversion and Apache webserver use as a helper library. I am impressed with how many features are included: Memory Pools, socket library, shared memory wrappers… Programming in C is low level compared to programming in Python or Ruby. Getting whatever help you can get with low level programming is smart. There is no sense in reinventing the wheel.

The documentation is somewhat lacking, but looking at the testsuite, apache, apache modules, and subversion source; one can pick up on how to use it within a day.