54 Commits (53337c81d40b90d3f8daab92c8419522d3a1c0fc)

Author SHA1 Message Date
Stefan Bühler 66bd6b22a2 track event "names" for debugging
Change-Id: Ib8f2b589a6087de2355906a87bd2cd0c84bafcba
8 years ago
Stefan Bühler 63f4b78353 fix some socket address handlings - limit unix socket path names to struct size 9 years ago
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 061b2a4262 [core] handle differences between options/actions/setups in plugin.c 10 years ago
Stefan Bühler 95f63fc0cf [core] add global named fetch pool; all backends have to return strings. implement a simple backend. 10 years ago
Stefan Bühler 709296d796 fix bugs and warnings from compiler warnings (memset parameter order, shadow, ...) 10 years ago
Stefan Bühler 72ec9a432f [throttle] rewrite 10 years ago
Stefan Bühler e0d9c0d602 [core] register server prepare callbacks 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 0d85a068c8 [lua] add per lua_State lock 10 years ago
Stefan Bühler f2ade38923 Release mainaction before stopping workers 10 years ago
Stefan Bühler 01abf704a3 [lua] Use recursive lock for global lua lock 11 years ago
Stefan Bühler a0227182d6 Fix small memleak with server sockets 11 years ago
Stefan Bühler 0fcbfb7ab7 [core] optimize syscalls per connection 12 years ago
Stefan Bühler c35cf21c52 [log] Add basic api to open log files via angel 13 years ago
Thomas Porzelt 31d2291a1c [core] Add support for throttling by IP 13 years ago
Stefan Bühler 823b9d13c2 [core]: wait for connections before shutdown 13 years ago
Thomas Porzelt 47bc318a35 [core] Make li_server_ts_format_add() threadsafe 13 years ago
Thomas Porzelt 14d48527af [core] Make log.timestamp creation/destruction threadsafe 13 years ago
Thomas Porzelt a3b7ce74af [core] Rework throttle-pool handling to be thread-safe in creation/destruction aswell as more accurate and fair throttling 13 years ago
Thomas Porzelt c7a39e4da1 [core] Fix compilation on non-linux systems 13 years ago
Thomas Porzelt 9c63e60cb7 [core] Add workers.cpu_affinity setup action 13 years ago
Stefan Bühler 1c3d3c287f [core]: add tasklet pools to workers and use them for stat-cache 13 years ago
Stefan Bühler a2ed50dedd Optimize some socket initialization handling 13 years ago
Thomas Porzelt c8663ffda9 [core] Allow disabling of stat cache through stat_cache.ttl 0; 13 years ago
Thomas Porzelt a5f6e08abd [core] Fix for last commit: undefined flag with older libev headers so have to use makros 13 years ago
Thomas Porzelt 396f740e77 [core] Use EVFLAG_NOSIGFD to disable signalfd usage if libev 3.8 is used, it breaks signal handling 13 years ago
Stefan Bühler 69f4ad2b4b Don't set RLIM_INFINITY as rlim_cur for RLIMIT_NOFILE, use 4096 if rlim_cur < 4096 and rlim_max = inf 13 years ago
Stefan Bühler 5e063e2b04 [core] Enable li_plugins_init_lua again, fixed segfault 13 years ago
Thomas Porzelt b5009f18df [core] Fix usage of sched_setaffinity() and disable it for now as it seems to impose a little performance hit 13 years ago
Stefan Bühler a8efcfcc0e modify plugin api to include worker context for action/option parsing; add per-worker callback for stop_worker
* create main_worker earlier
13 years ago
Thomas Porzelt 86e039e6d2 [core] Add --module-resident commandline parameter to prevent module unloading. Useful for valgrind or tcmalloc 13 years ago
Stefan Bühler c0f5b9b151 server.c: free srv->statelock 13 years ago
Stefan Bühler 905a83fc77 Add plugin hooks for server state machine changes 13 years ago
Stefan Bühler 30ebce774e Add "state-wait" api for server state machine 13 years ago
Stefan Bühler f14103bc2c Split options into two categories: simple (int, bool) and ref-counted pointers 14 years ago
Stefan Bühler d9228f3ef0 Add per worker lua_State 14 years ago
Stefan Bühler a151eeac2f Prefix li_ cleanup, verified with nm -g --defined-only 14 years ago
Stefan Bühler 855ac43999 Fix small copy/paste bug 14 years ago
Stefan Bühler a14a709237 Add max-connections check, set to max-fds/4 14 years ago
Stefan Bühler 8ac057d3d5 angel: Add wrapper, env and copy-env to instance config 14 years ago
Stefan Bühler aadbf51c84 Fix two more leaks, add some safe = NULL inits, free ssl error strings 14 years ago
Thomas Porzelt 1df869edc3 [waf] Add missing checks for localtime_r() and gmtime_r() 14 years ago
Stefan Bühler 659ebfdd16 Add core lua support to handle requests 14 years ago
Stefan Bühler f030824550 Fix server address (do not use the listen address) 14 years ago
Stefan Bühler a663088a77 Add custom server socket callbacks (for ssl modules) 14 years ago
Stefan Bühler 56ff7ca32a angel/lighty now synchronize the server state 14 years ago
Stefan Bühler 594987c29e Add li_ev_safe_ref_and_stop macro and use it 14 years ago