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