[Buildbot-devel] acquiring multi-step locks/lock until the end of the build

Pierre Tardy tardyp at gmail.com
Fri Feb 13 17:06:17 UTC 2015


You could create a step:

LockUntilEndOfBuild(MasterLock("foo"))

This step would modify self.build.locks to add this new lock, and then call
self.build.acquireLocks()

This should effectively do option 2.

For option 1, you could create a UnlockBuildLock() step that does call
self.build.releaseLocks()

There might be some interesting details though :)


Le Fri Feb 13 2015 at 5:39:50 PM, Vitali Lovich <vlovich at gmail.com> a
écrit :

> Hi,
>
> Is there a straightforward way to acquire a lock for the remainder of a
> build?
>
> It looks like we have 2 kinds of locking strategies at the moment:
>
>    - Up-front locks for each build generated by a builder
>    - Step-level locks acquired only for the duration of a single step
>
> The two that are super-useful but missing:
>
>    1. Acquire a lock for the next N steps or until some later step (worst
>    case is acquire/release steps but probably can be done more elegantly as
>    “lock until build step with name X” or “lock for next Y steps").
>    2. Acquire a lock for the remainder of the build.
>
> Does anyone know if the latter is easy to inject?  I haven’t looked into
> it yet; I’m hoping that it would be possible but maybe someone has looked
> into this already & has thoughts?
> Any pointers on which class owns the locks?
>
> I already have a custom Build class & am OK mucking with the internal
> state of a build.
> I’m looking primarily at option #2 - would I get away with generating a
> lock & then appending it to some internal state in Build
> for it to get unlocked at the end of the build?
>
> Thanks,
> Vitali
> ------------------------------------------------------------
> ------------------
> Dive into the World of Parallel Programming. The Go Parallel Website,
> sponsored by Intel and developed in partnership with Slashdot Media, is
> your
> hub for all things parallel software development, from weekly thought
> leadership blogs to news, videos, case studies, tutorials and more. Take a
> look and join the conversation now. http://goparallel.sourceforge.net/
> _______________________________________________
> Buildbot-devel mailing list
> Buildbot-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/buildbot-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://buildbot.net/pipermail/devel/attachments/20150213/253c4d5c/attachment.html>


More information about the devel mailing list