- Oct 16, 2012
-
-
Dmitry E. Oboukhov authored
-
Dmitry E. Oboukhov authored
-
Dmitry E. Oboukhov authored
all functions use rlist: avoid spare foreaches
-
- Oct 14, 2012
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
Change memcached, admin and iproto connection to use the buffered IO. Make coio_writev accept a hint about the total size. Remove fiber iov.
-
- Oct 10, 2012
-
-
Konstantin Osipov authored
-
- Oct 09, 2012
-
-
Konstantin Osipov authored
Now that the network layer is exception aware, slowly transit with the rest of Tarantool subsistems to exception-based error handling model. Make sure fiber_create() throws an exception if there is insufficient memory for fiber or its stack. Make the rest of the code aware of the change.
-
- Oct 08, 2012
-
-
Konstantin Osipov authored
Make all subsystems (administrative console, replication, memcached, binary protocol) use exception-based socket API (sio.m). Remove all fiber members related to socket I/O. Remove fiber->peer and fiber->cookie. The idea of the cookie is to preserve in the WAL the originator of the request. This information is, however, lost when saving a snapshot. To my knowledge there is no use of this functionality, apart from pretty-printing the WAL. Peer is like cookie, but is textual and is used for logging. However, now, as long as network errors occur outside fiber context, most of the usefulness is lost. The only remaining case is when someone is trying to execute a write request on a read-only port. For all other cases, sio.m already supplies SocketError with peer name, and this is where it's most useful.
-
Dmitry E. Oboukhov authored
-
Konstantin Osipov authored
Change a single void * pointer passed to fiber_create to a variadic list passed to every fiber_call().
-
- Oct 05, 2012
-
-
Dmitry E. Oboukhov authored
-
- Sep 30, 2012
-
-
Konstantin Osipov authored
Instantiate fiber IO buffers by value. Why this is needed: in preparation for removal of network IO from fiber code, make sure we do less juggling with tbufs in fiber_gc(). Remove unused code.
-
- Sep 07, 2012
-
-
Konstantin Osipov authored
fiber_setcancelstate(true) in admin fiber is no longer necessary and can lead to bugs, if admin fiber works with wal writer queue.
-
- Sep 05, 2012
-
-
Konstantin Osipov authored
If there is an exception in a background (detached) fiber, log it to the error log. Provide a way to modify fiber name, so that created background fibers can be distinguished by their name (currently they all are called "lua").
-
- Aug 29, 2012
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
The wal writer thread could write a wrong fiber name into the log, when logging about WAL rotation. vsay() takes the current fiber name from a global variable, and it's changed dynamically by the concurrent thread (the front end thread).
-
- Aug 06, 2012
-
-
Konstantin Osipov authored
Sync the WAL at close time. Fix a race condition between wal_schedule and ev_schedule this revealed. A cancelled fiber could get scheduled by wal_schedule. Do not allow to asynchronously cancel a fiber which is a part of WAL scheduler queue. Add a test case.
-
- Jul 31, 2012
-
-
Konstantin Osipov authored
End the copyright madness. Tarantool authors maintain a shared copyright on the code base. Remove individual copyright (c) from specific files and put a single AUTHORS file in the project top.
-
- Jul 23, 2012
-
-
Konstantin Osipov authored
A fix and a test case for Bug#911641 "box.fiber.sleep() works incorrectly if a fiber is attached". Use symmetric scheduling for attached fibers. This allows box.insert(), box.update(), box.delete() box.fiber.sleep() in an attached fiber just the same way as in a detached one. Add tests. Now it's possible to resume() a fiber created in another fiber.
-
- Jun 29, 2012
-
-
Konstantin Osipov authored
In the new Objective C 2.0 runtime, class Object was trimmed and no longer contains + alloc, - init, - free and - subclassResponsibility, which we use. Implement our own base class and use it instead of the old Object. This should fix compilation with gcc 4.7 everywhere and clang on Darwin. The current code can still be built with gcc 4.6.
-
- Jun 26, 2012
-
-
Konstantin Osipov authored
A fix for Bug#1017905 "replication failure may leave garbage in the read buffer". No test case since this is a runtime error which is hard to emulate. Clear the read buffer whenever closing a file desriptor, to remove garbage data from the closed connection.
-
- Jun 22, 2012
-
-
Konstantin Osipov authored
Tarantool/Box crashed during shutdown if a non running LUA fiber was created. Fiber garbage collection in Lua, initiated during shutdown, was performed after the fiber subsystem was destroyed. Additionally, fix a wrongly formulated assert which checks that the fiber which is being cancelled has not been cancelled already.
-
- Apr 30, 2012
-
-
Konstantin Osipov authored
When salloc_init() fails, we call tarantool_free(), which calls fiber_free(), which tries to destroy the fiber registry hash, which has not been allocated. Check that the hash has been allocated, before trying to destroy it.
-
- Apr 25, 2012
-
-
Konstantin Osipov authored
-
- Apr 20, 2012
-
-
Aleksey Demakov authored
-
- Apr 16, 2012
-
-
Aleksey Demakov authored
-
- Apr 09, 2012
-
-
Dmitry Simonenko authored
This reverts commit 8dc70aac.
-
Dmitry Simonenko authored
-
- Mar 30, 2012
-
-
Konstantin Osipov authored
This patch introduces wal_mode configuration variable, which can take either "fsync" or "fsync_delay" values. In "fsync" mode, we open the write ahead log in O_SYNC mode, and thus sync every write to disk. Th fsync_delay mode is the backward-compatible mode: in this mode, we only do fsync once every fsync_delay seconds. If fsync_delay is 0, there is no fsync. Otherwise, this patch is only adding auxiliary headers, object files, etc.
-
- Mar 12, 2012
-
-
Konstantin Shulgin authored
Set SO_KEEPALIVE option for replication replay sockets and fiber's clients sockets.
-
- Feb 14, 2012
-
-
Konstantin Osipov authored
Update style, add comments.
-
- Jan 25, 2012
-
-
Konstantin Shulgin authored
lua: box.fiber.status function was added. The function returns current fiber status, like a cocoroutine.status() function in lua standard library. core: fiber_is_caller function was added. The function returns true if checking fiber is caller of current working fiber.
-
- Dec 19, 2011
-
-
Dmitry Simonenko authored
-
- Nov 10, 2011
-
-
Konstantin Osipov authored
-
Konstantin Osipov authored
An intermediate step, use size0 for 'size' temporarily, to ensure there are no compilation errors. This is a code review of Konstantin Shulgin's branch refactoring-tbuf.
-
- Oct 28, 2011
-
-
Konstantin Osipov authored
Add box.fiber.create(), box.fiber.resume(), fiber.yield(), box.fiber.detach(). Add tests. Makce fiber cancellation implementation more robust and quick, so that it is actually usable from Lua. Debug.
-
- Oct 17, 2011
-
-
Konstantin Osipov authored
Add fiber.cancel(), fiber.sleep(), fiber.testcancel(), fiber.id(). Draft the fiber library interface description.
-
- Oct 05, 2011
-
-
Konstantin Shulgin authored
yield function was renamed to fiber_yield.
-
- Sep 16, 2011
-
-
Konstantin Shulgin authored
-
- Sep 15, 2011
-
-
Konstantin Shulgin authored
-