Skip to content
This repository

May 09, 2012

  1. Marcel Laverdet

    Don't rename node module for different archs

    Turns out you can't load a module on Windows that has been renamed from
    what it was called in the dllexport. So if you have fibers.node, and
    rename it to fibers2.node, `require('fibers2') will fail with "unknown
    error". I'm not sure if this is an inherent problem with dynamic
    libraries in Windows or just Node being pedantic.
    As a workaround just make a new directory for each platform and arch
    with only one file, "fibers.node".
  2. Marcel Laverdet

    Pure-JS test script

    This removes the last dependency on bash.
    Also fix a couple of issues with the npm package file.
  3. Marcel Laverdet

    Port build to gyp + setup for binary distribution

    node-gyp powers building now, for all operating systems. Only Windows,
    Linux, and OS X were tested. arm support for Linux also was not tested.
    Also included is a wrapper module which pulls in a binary specific to
    your platform.

May 08, 2012

  1. Marcel Laverdet

    Begin transition to non-global Fiber object

    This makes it so that require('fibers') returns the Fiber() object
    directly. I'll leave the global exporting for a while for library
    authors to convert and then remove it.
    var Fiber = require('fibers');
  2. Marcel Laverdet

    Correct stack base calculations for Windows

    I can never get that math right in my head the first time. This should
    be correct and all the fibers tests pass fine in Windows now.
  3. Marcel Laverdet

    Remove pool allocator for coroutine stacks

    There is little performance benefit here, if any. It also may be
    harmful, since the chunks of memory allocated are very large anyway.
    Since this is GNU-specific and complicates compilation on Windows, away
    it goes.
  4. Jeroen Janssen

    Tentative Windows support

    Squashed commit of `winfiber` branch @
    This adds support for Windows. There's some issues but nothing that
    can't be fixed.
    Minor formatting issues changed (dangling tabs, spaces for tabs).
    japj authored committed

May 04, 2012

  1. Marcel Laverdet

    Remove mtime check on fibers require()

    If there are problems with the build, they aren't going to be from
    upgrading Node. Plus I want to move to binary distribution soon if
    possible and this will be counterproductive.
  2. Marcel Laverdet

    Use <node.h> instead of <node/node.h>

    Seems it is more standard and will make it easier for some people to
    get this installed.

Apr 27, 2012

  1. Marcel Laverdet

    Bump npm version -> 0.6.6

  2. Marcel Laverdet

    Fallback when -march=native isn't supported

    Fixes gh-63
  3. Alex Kocharin

    gmake and freebsd support

    rlidwka authored committed

Mar 31, 2012

  1. Marcel Laverdet

    Make a -march=native build by default

    It's like 3% faster on my system, maybe.

Mar 27, 2012

  1. Marcel Laverdet

    Don't use [[ .. ]] in

    sh needs [ .. ]
    Fixes gh-60

Mar 17, 2012

  1. Marcel Laverdet

    Bump npm version -> 0.6.5

  2. John Purcell

    fix for latest version of npm

    jpmoodlerooms authored committed

Feb 25, 2012

  1. Marcel Laverdet

    `detach` method for futures

    For those times when you want to run a future but only care about

Feb 08, 2012

  1. Marcel Laverdet

    Clean-up broken build

    a7be6ca and dd1b25e had some problems, breaking the build on OS X.
  2. Marcel Laverdet

    Add run-time information for fiber pool

    There was a bug report a while back about fibers being slow but was
    ultimately caused by the user accidentally keeping way too many fibers
    around. It would have been easier to identify the problem with the
    ability to inspect and alter node-fiber's underlying coroutine cache.
    This adds two static properties to Fiber, `fibersCreated` and `poolSize`
    which should give more information about what's happening under the
    hood. Documentation for these to come.
  3. Jeremy Evans

    Fix NODE_BITS determination using process.arch

    process.arch is either ia32 or x64, so use that to determine
    NODE_BITS.  The existing code is broken in that it will assume
    32-bit on many 64-bit platforms (e.g. OpenBSD).
    jeremyevans authored committed
  4. Jeremy Evans

    Build correctly on OpenBSD

    I tested this on OpenBSD-current on both amd64 and i386.  It's not
    the only changes necessary to build though (you also have to use
    gmake instead of make), but these shouldn't have a negative effect
    on other OSes.
    jeremyevans authored committed
  5. Jeremy Evans

    Use /bin/sh instead of /bin/bash to run the tests

    There's no bash specific syntax, and some OSes don't ship with
    bash (e.g. OpenBSD).
    jeremyevans authored committed

Feb 03, 2012

  1. Marcel Laverdet

    Run on node 0.7.0, kind of

    This fixes fibers to work on node 0.7.x. Using {thread:true} in
    child_process.fork() after fibers has been required will result in a
  2. Marcel Laverdet

    Fix double-include problem on OS X

    If you include the same extension with a different name (via a
    case-insensitive filesystem) an extension will only be dlopen'd once,
    but Init() will be called many times.
    Fixes gh-50
  3. Marcel Laverdet

    Add smart stack traces + easy future chaining

    When throwing through a Future, this captures the stack trace for each
    future so you can show a full stack trace while debugging.
    Additionally this makes resolve() kind of magic, where if the first
    parameter is a future, any errors will be forwarded to the future, and
    the callback's signature will be changed to function(val){} from
    function(err, val){}.
  4. Marcel Laverdet

    Fix segfault with inherited fibers

    If you inherit a fiber in a prototype there may be a segfault because
    the `started` accessor gets an invalid `this`. I can't figure out how to
    fix this properly with the Holder() function like I can for methods.. so
    instead of segfaulting I'm just going to return `undefined` here. You
    shouldn't be using fibers in a prototype chain anyway.
    Fixes gh-44 (maybe?)
  5. Marcel Laverdet

    Build on arm

    This maybe fixes gh-48. I don't have an arm machine to test on, but I
    added the changes suggested in the ticket by @apsystems.

Jan 05, 2012

  1. Marcel Laverdet

    Bump npm version -> 0.6.4

  2. Marcel Laverdet

    Use accessor for `current` instead

    This is measurably faster in the case of accessing `current` once per
    context swap.
  3. Marcel Laverdet

    Fix unit test script from gobbling up errors

  4. Marcel Laverdet

    Remove old node-fibers wrapper script

  5. Marcel Laverdet

    Documentation updates

    - Remove old node 0.4.x information
    - Link to wiki for projects using node-fibers

Nov 06, 2011

  1. Marcel Laverdet

    Improve speed of Future.wait()

    A lot of unnecessary and expensive JS stuff was happening here.
  2. Marcel Laverdet

    Add shortcut for Future.prototype.wait()

    Bypassing Future.wait() and just returning if the future has already
    been resolved saves a pretty good bit of time.

Oct 24, 2011

  1. Marcel Laverdet

    SunOS build support

    Added the appropriate make configs for SunOS platforms, and fixed a tiny
    issue with the usage of `file` that SunOS wasn't happy with.
    Fixes gh-38
Something went wrong with that request. Please try again.