21 Commits (53337c81d40b90d3f8daab92c8419522d3a1c0fc)

Author SHA1 Message Date
Stefan Bühler acd2967534 assert many previously unchecked return values, handle some explicitly, remove FD_CLOEXEC in worker - mustn't fork 9 years ago
Stefan Bühler 17a5168793 [core] convert all assert() to LI_FORCE_ASSERT(), and support writing backtraces on fatal errors with libunwind 9 years ago
Stefan Bühler e76ebe2021 [core] rewrite config parser
* no more hash values - only lists and list of key-value pairs
 * "master" config:
   the config loaded on startup can use all features,
   configs loaded later (vhost on demand from sql...) can't use
   include* and cannot modify global vars.
 * scoped variables
   - add a global var store in the server struct
   - global vars can be set with "global foo = bar"
   - if a variable already exists in a scope it will be modified on a
	 write, otherwise a new local variable is created
   - global vars won't be modified if not in "master" mode
   - vars can be made explicitly local with "local foo = bar"; create a
	 local copy with "local foo = foo"
   - globals vars are available in live config loads for reading
   - each file and action block {...} creates a new scope; if/else branches do
	 NOT create a new scope
 * to append a value to a list use "l + [v]" (not "l + v" anymore);
   lists are concatenated with "+"
 * [...] always marks a list
 * (...) is a list if it contains a "," or "=>", otherwise it justs
   groups an expression
 * a list can either contain key-value pairs or other values. mixing is
   not allowed
10 years ago
Stefan Bühler 709296d796 fix bugs and warnings from compiler warnings (memset parameter order, shadow, ...) 10 years ago
Stefan Bühler a937bd437a fix missing li prefixes 10 years ago
Stefan Bühler cfd8955008 [common] implement libev wrapper
* need a way to mark a watcher as "don't keep the loop alive"
10 years ago
Stefan Bühler ff69160c34 [core] Use streams 10 years ago
Stefan Bühler 20a63070e2 [chunks] extract to plain memory 10 years ago
Stefan Bühler b1c45e6a8f [chunk/network] use glib error system to report errors (instead of using virtualrequest context) 11 years ago
Stefan Bühler 89a32e1504 [chunkqueue] skip setting limit if it is the current one 12 years ago
Stefan Bühler 7d938e48e3 [log] Fix prepare handler 13 years ago
Stefan Bühler 048a7d9144 Append to previous buffer in network reads, save used buffer in custom location 13 years ago
Stefan Bühler 750bd453a2 Append to previous buffer in network reads 14 years ago
Stefan Bühler c5f6c3166d Replace lseek()+read() with pread() in chunk.c 14 years ago
Stefan Bühler 0c3ca6b13b add liBuffer: a reference-counted memory chunk (using mempool) for basic network data 14 years ago
Stefan Bühler c3ae0163c8 Use less pointers in chunks, "inline" structures 14 years ago
Stefan Bühler 24a34c3633 Export li_chunkfile functions 14 years ago
Stefan Bühler 1acacd5737 Prefix inline api functions with li_ 14 years ago
Stefan Bühler c6bd0d66b7 Fix fd leak 14 years ago
Stefan Bühler a061745193 Fix bugs found with the static clang analyzer (http://clang-analyzer.llvm.org/) 14 years ago
Stefan Bühler 540ff7db02 Split sources into subdirs 14 years ago