Comment 3 for bug 1026892

Revision history for this message
Russell Bryant (russellb) wrote :

Based on the log, it looks like this was from Essex. The related code has been reworked significantly in Folsom, and should be fixed there. Here are the related commits:

commit 2c1524866acb9f9ac3f50dc7d33338cfb03fd08a
Author: Stanislaw Pitucha <email address hidden>
Date: Thu Aug 2 13:51:07 2012 +0100

    Improve external lock implementation

    Remove a number of limitations from the external locks.
    - They can be nested now
    - They do not need external cleanup in case of failures
    - They do not rely on lockfile or greenlet internal implementation

    New implementation is based on fcntl locks and any crashing process
    will drop the lock. It does not have to rely on any cleanup code or
    handling exceptions. Because no cleanup is needed, a number of tests
    have been removed.
    This implementation is not portable outside of POSIX/BSD/SVR4 systems.

    Fcntl locks should work correctly with NFS mounts.

    Locks are cleaned up after the tests finish running via run_tests.sh,
    even though it's not strictly needed.

    This change requires eventlet >= 0.9.17.

    bp improve-external-locking

    Change-Id: Idf5424c04645f25097733848a007b150145b0b27

commit 3f0ef8e28fd0ec5102a58be8d0013900194869fe
Author: Pádraig Brady <email address hidden>
Date: Tue Aug 7 01:51:58 2012 +0100

    Improve external locking on Windows

    commit 2c15248 improved external locking for POSIX.
    See that commit for advantages of the technique used.
    This implements the same technique for Windows systems.

    Fixes bug: 1033596
    Change-Id: I298309bb1c84499f2060c172213d355aa7ce54e5