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
Joris Vink
fbfabf6f04
Add missing stdint.h header
2014-07-22 09:53:44 +02:00
Joris Vink
341a111a2f
Rework kore_strtonum64() so we can catch overflows for u_int64_t.
...
Seems that strtoull() if a negative string is supplied rather just
wraps the value, which I don't want here.
2014-07-21 01:51:51 +02:00
Joris Vink
25cf8dc659
Wrong comparison in kore_strtonum64(), fix.
2014-07-21 01:19:39 +02:00
Joris Vink
d4cec3427e
Properly convert 64bit parameters.
...
Introduces kore_strtonum64() for just this purpose as to
not taint kore_strtonum() too much.
2014-07-21 01:16:03 +02:00
Joris Vink
ac345410dc
Add support for fetching parameters as 64bit integers.
2014-07-20 00:43:32 +02:00
Joris Vink
1d8fc99920
Add glue to build task_curl example under osx
2014-07-18 16:09:15 +02:00
Joris Vink
e0f30e1ae7
Fix broken include paths and lib paths
2014-07-18 16:05:19 +02:00
Joris Vink
a5806d91f8
Pull in pg_config.h correctly, fixes compilation for pgsql under OpenBSD
2014-07-18 15:59:07 +02:00
Joris Vink
c3ea0e9e66
Include pthread.h in tasks.h, fixes compilation under OpenBSD
2014-07-18 15:51:13 +02:00
Joris Vink
86434a57c1
Bump to 1.2-release in preparation of the actual release
2014-07-17 10:22:45 +02:00
Joris Vink
5d4f956f69
Rewrite some comments as task behaviour has changed
2014-07-08 09:12:05 +02:00
Joris Vink
19d146a09e
Introduce http_request_sleep() and http_request_wakeup().
...
These 2 functions can be used to move an HTTP request
from/to the active http_requests list. Effectively
putting them to "sleep" or "waking them up".
Sprinkle this through the pgsql and task code.
If used correctly greatly reduces overhead for
managing sleeping tasks.
2014-07-04 16:51:19 +02:00