Skip to content
Snippets Groups Projects
  1. Oct 16, 2012
  2. Oct 14, 2012
  3. Oct 10, 2012
  4. Oct 09, 2012
    • Konstantin Osipov's avatar
      fiber_create(), palloc(): throw OOM exception · 6755c708
      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.
      6755c708
  5. Oct 08, 2012
    • Konstantin Osipov's avatar
      Extract cooperative IO from fiber.m. · 4a76b67f
      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.
      4a76b67f
    • Dmitry E. Oboukhov's avatar
      e5fb320b
    • Konstantin Osipov's avatar
      Make it possible to pass variadic arguments to fiber_call. · 1615d219
      Konstantin Osipov authored
      Change a single void * pointer passed to fiber_create
      to a variadic list passed to every fiber_call().
      1615d219
  6. Oct 05, 2012
  7. Sep 30, 2012
  8. Sep 07, 2012
  9. Sep 05, 2012
    • Konstantin Osipov's avatar
      Provide better diagnostics for background fibers. · 93634bc9
      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").
      93634bc9
  10. Aug 29, 2012
  11. Aug 06, 2012
    • Konstantin Osipov's avatar
      Sync log at close. · 6112456b
      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.
      6112456b
  12. Jul 31, 2012
    • Konstantin Osipov's avatar
      End the copyright madness. · 33269e00
      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.
      33269e00
  13. Jul 23, 2012
    • Konstantin Osipov's avatar
      A fix and a test case for Bug#911641 · 66872177
      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.
      66872177
  14. Jun 29, 2012
    • Konstantin Osipov's avatar
      A fix for Bug#905348 Object is deprecated · 19a23b70
      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.
      19a23b70
  15. Jun 26, 2012
  16. Jun 22, 2012
    • Konstantin Osipov's avatar
      A fix and a test case for Bug#933487 · 62119167
      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.
      62119167
  17. Apr 30, 2012
    • Konstantin Osipov's avatar
      Fix a bug in tarantool_free() · 36799114
      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.
      36799114
  18. Apr 25, 2012
  19. Apr 20, 2012
  20. Apr 16, 2012
  21. Apr 09, 2012
  22. Mar 30, 2012
    • Konstantin Osipov's avatar
      Thread-based WAL writer: a piecewise port. · 59d0e081
      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.
      59d0e081
  23. Mar 12, 2012
  24. Feb 14, 2012
  25. Jan 25, 2012
    • Konstantin Shulgin's avatar
      feature-lua-fiber-status: · bed16a51
      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.
      bed16a51
  26. Dec 19, 2011
  27. Nov 10, 2011
  28. Oct 28, 2011
    • Konstantin Osipov's avatar
      Lua: make it possible to create new fibers. · 3e2adffb
      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.
      3e2adffb
  29. Oct 17, 2011
  30. Oct 05, 2011
  31. Sep 16, 2011
  32. Sep 15, 2011
Loading