[#35446] [Ruby 1.9 - Bug #4477][Open] Kernel:exec and backtick (`) don't work for certain system commands — Joachim Wuttke <j.wuttke@...>

10 messages 2011/03/07

[#35476] [Ruby 1.9 - Bug #4489][Open] [PATCH] Encodings with /-(unix|dos|mac)\Z/ — "James M. Lawrence" <quixoticsycophant@...>

20 messages 2011/03/10

[#35552] [Ruby 1.9 - Feature #4523][Open] Kernel#require to return the path of the loaded file — Alex Young <alex@...>

14 messages 2011/03/24

[#35565] [Ruby 1.9 - Feature #4531][Open] [PATCH 0/7] use poll() instead of select() in certain cases — Eric Wong <normalperson@...>

33 messages 2011/03/28

[#35566] [Ruby 1.9 - Feature #4532][Open] [PATCH] add IO#pread and IO#pwrite methods — Eric Wong <normalperson@...>

12 messages 2011/03/28

[#35586] [Ruby 1.9 - Feature #4538][Open] [PATCH (cleanup)] avoid unnecessary select() calls before doing I/O — Eric Wong <normalperson@...>

9 messages 2011/03/29

[ruby-core:35499] Re: [Ruby 1.9 - Bug #4463][Open] [PATCH] release GVL for fcntl() for operations that may block

From: Eric Wong <normalperson@...>
Date: 2011-03-14 19:58:41 UTC
List: ruby-core #35499
Eric Wong <normalperson@yhbt.net> wrote:
> KOSAKI Motohiro <kosaki.motohiro@gmail.com> wrote:
> > Umm..
> > I don't like its interface so much. your flock object don't mange any lock
> > state. it's merely wrapper of argument of fcntl. your interface mean we need
> > two line every lock operation. eg.
> 
> That would allow us to do something stateful like:
> 
> 	Fcntl.synchronize(io, :WRLCK, :SET, 0, 0) do
> 	  # ...
> 	end

Following up, I went with something along these lines here.

http://redmine.ruby-lang.org/issues/4464
http://redmine.ruby-lang.org/attachments/1540/0001-add-Fcntl-Lock-object-for-easier-use-of-POSIX-file-l.patch

Simple use case to lock the whole file is just:

  Fcntl::Lock.synchronize(file) do
    # ...
  end

-- 
Eric Wong

In This Thread

Prev Next