Joris Vink
5b8c880a62
Don't write the static output to a tmp buf, just write it to disk
2014-08-01 20:25:02 +02:00
Joris Vink
6495e84005
Show the uri to the running kore instance in foreground mode
2014-08-01 20:00:09 +02:00
Joris Vink
23164f636f
Sprinkle KORE_BENCHMARK through cli.c
2014-08-01 17:17:34 +02:00
Joris Vink
38edc7d23b
Add a warning about the generated certificates
2014-08-01 17:13:38 +02:00
Joris Vink
47ad4fbc28
Have "kore build" generate temp certs as well
2014-08-01 17:10:47 +02:00
Joris Vink
448f1a7912
Don't run cli_cleanup_files() in cli_fatal if theres no rootdir
2014-08-01 16:39:12 +02:00
Joris Vink
5fa964c5c0
gettimeofday() requires sys/time.h
2014-08-01 16:10:37 +02:00
Joris Vink
67c3bd84ba
Make cli compile under freebsd
2014-08-01 16:01:33 +02:00
Joris Vink
e29a5461ca
Allow kore build to compile static files
2014-08-01 15:55:09 +02:00
Joris Vink
61f56b8da0
Bump copyright
2014-08-01 14:14:46 +02:00
Joris Vink
5d8c29af13
Allow kore build to take compiler via KORE_COMPILER
2014-08-01 14:09:57 +02:00
Joris Vink
ea5b89d20b
Move orbit functionality into kore directly.
...
Makes more sense and reads easier:
kore create myapp
kore build myapp
kore run myapp
Note that kore retains its cli options (if no command was given),
meaning you can still start kore in the traditional way as well.
The command options are simply to make development easier.
2014-08-01 13:59:47 +02:00
Joris Vink
818dd84acd
No longer generate .objs as a default for orbit create.
2014-08-01 12:45:31 +02:00
Joris Vink
e57a91a4e0
Create .objs when doing orbit build if it doesnt exist
2014-08-01 12:40:37 +02:00
Joris Vink
0c21c08b6d
Hook orbit into the build
2014-08-01 10:46:50 +02:00
Joris Vink
a2a87adf19
Euhm, revert last commit.
2014-08-01 10:33:26 +02:00
Joris Vink
cee7d34020
Properly check for EWOULDBLOCK as well
2014-08-01 10:32:31 +02:00
Joris Vink
a047758df1
Note the BENCHMARK option in README
2014-08-01 10:30:29 +02:00
Joris Vink
c2e4d55235
Add a BENCHMARK compile option which compiles without OpenSSL.
...
Personally use this for testing Kore its performance without
letting the OpenSSL stack get in the way too much.
Note that it leaves data structures as is, and just removes
any calls to OpenSSL (and removes the linking vs OpenSSL).
2014-08-01 10:22:32 +02:00
Joris Vink
8ff870a352
Remove the ability to pass libs on the cli again.
...
Sorry, this no longer makes sense in terms of what
orbit is suppose to be doing.
2014-08-01 09:39:09 +02:00
Joris Vink
d6f0b8f8fe
Start kore from inside the rootdir when doing orbit run
2014-08-01 09:05:14 +02:00
Joris Vink
65a28e3db3
Allow orbit to build things under OSX
2014-07-31 23:19:18 +02:00
Joris Vink
7a038fce91
Add initial orbit code.
...
Orbit is a tool used to create/build/run kore code
in a more straight forward way.
Right now, orbit can do the following:
orbit create myapp
orbit build myapp
orbit run myapp
All in the motivation of making it easier to get
started with building Kore libraries and making
life easier on the people hacking Kore things.
2014-07-31 23:12:14 +02:00
Joris Vink
b17eefde1f
Allow developers to pass the lib to load on the cli.
...
When running in -f (foreground) you can now specify
the library Kore needs to load on the command line:
kore -fnc module.conf myapp.so
This has the benefit that your configuration file no
longer needs the load directive when hacking on your code.
Note that you can still specify load in your config file
regardless, if you so chose.
All of this is being done in order to try and move away
from the backwards way of getting up and running with Kore.
2014-07-31 17:15:51 +02:00
Joris Vink
105fb272a0
In foreground mode don't show kore_log() in fatal
2014-07-31 15:12:05 +02:00
Joris Vink
20e2447c90
When running Kore in foreground mode, log to stdout
2014-07-31 14:26:51 +02:00
Joris Vink
ef49a0d4e1
Don't use pidfile if we're in foreground mode
2014-07-31 14:02:33 +02:00
Joris Vink
a664e2a655
Make some configuration options fallback to defaults.
...
* If no runas_user is given, use current user.
* If no chroot path is given, don't complain if -n
* If no workers is set, use the default 1.
2014-07-31 13:59:42 +02:00
Joris Vink
2d9940e197
Add foreground
2014-07-31 13:43:37 +02:00
Joris Vink
9b76afc5fb
Whoops, remove KORE_BENCHMARK that sneaked in
2014-07-31 13:35:39 +02:00
Joris Vink
8812d6989a
Allow Kore to be started in foreground mode (-f)
...
Sending SIGINT or Ctrl-c will reap all workers and
exit again. Useful for development.
2014-07-31 13:27:04 +02:00
Joris Vink
9c4e7c888f
kill newline
2014-07-31 12:27:41 +02:00
Joris Vink
7fd936bb94
Add coverity badge, cause why not
2014-07-31 10:41:30 +02:00
Joris Vink
22e1e1c425
Add worker_rlimit_nofiles as a configurable option.
2014-07-31 09:14:03 +02:00
Joris Vink
26d4d5d63b
Rework the accept lock.
...
Kore no longer passes the accept lock to the "next in line"
worker but instead all workers will attempt to grab the lock
if they can.
Also remember if we had the lock previous iteration of the
event loop and don't constantly disable/enable the accepting sockets.
Makes Kore scale even better across multiple cpu's.
2014-07-30 15:20:09 +02:00
Joris Vink
83f890e89e
No longer preallocate worker_max_connections for the http pools.
...
Instead use 10% of worker_max_connections up to a maximum of 1000.
2014-07-30 13:20:27 +02:00
Joris Vink
e1dff2e051
We've become a framework really
2014-07-30 09:43:29 +02:00
Joris Vink
9b13f57711
Add 1.2 release date + spelling
2014-07-30 09:14:36 +02:00
Joris Vink
efe732cc1f
Update readme
2014-07-30 09:12:59 +02:00
Joris Vink
cb3322cd9f
Make accesslogs optional
2014-07-30 09:11:21 +02:00
Joris Vink
3f853a79ce
Add example configuration under conf/
2014-07-30 09:02:34 +02:00
Joris Vink
a895250e97
Make sure l and c are initialized
2014-07-30 09:00:19 +02:00
Joris Vink
fe0149ad24
Have workers always pass the accept lock after handling their events.
...
Provides a nice performance boost when scaling across multiple cpu's.
2014-07-29 13:14:34 +02:00
Joris Vink
478c008c99
Missing parts from last commit
2014-07-28 23:35:12 +02:00
Joris Vink
8313a31eba
If we do not own the accept lock, reduce timeout for platform wait.
...
This way multiple workers won't stall when passing the accept lock
around for at maximum 100 ms (time spent in epoll/kqueue waits).
2014-07-28 23:27:58 +02:00
Joris Vink
ea07ddef34
Properly send out early HTTP errors via the appropriate SPDY stream
2014-07-27 21:59:25 +02:00
Joris Vink
c1bc0ce13f
Check return value for pthread_mutex_init()
2014-07-27 21:47:18 +02:00
Joris Vink
257486d74a
Remove req from http_requests before other things
2014-07-27 21:01:14 +02:00
Joris Vink
8c22f0f004
In http_request_free() remove the req from the owner connection.
2014-07-27 21:00:17 +02:00
Joris Vink
c9f39c9c9d
Set module->ocb to NULL
2014-07-22 10:47:12 +02:00