[#6363] Re: rescue clause affecting IO loop behavior — ts <decoux@...>

>>>>> "D" == David Alan Black <dblack@candle.superlink.net> writes:

17 messages 2000/11/14
[#6367] Re: rescue clause affecting IO loop behavior — David Alan Black <dblack@...> 2000/11/14

Hello again --

[#6582] best way to interleaf arrays? — David Alan Black <dblack@...>

Hello --

15 messages 2000/11/26

[#6646] RE: Array Intersect (&) question — Aleksi Niemel<aleksi.niemela@...>

Ross asked something about widely known and largely ignored language (on

23 messages 2000/11/29
[#6652] RE: Array Intersect (&) question — rpmohn@... (Ross Mohn) 2000/11/29

aleksi.niemela@cinnober.com (Aleksi Niemel) wrote in

[#6723] Re: Array Intersect (&) question — Mathieu Bouchard <matju@...> 2000/12/01

> >Use a hash. Here's code to do both and more. It assumes that

[#6656] printing/accessing arrays and hashes — raja@... (Raja S.)

I'm coming to Ruby with a Python & Common Lisp background.

24 messages 2000/11/30

[ruby-talk:6297] Re: lchown()/etc. and Unix syscall completeness

From: "Brian F. Feldman" <green@...>
Date: 2000-11-12 19:51:41 UTC
List: ruby-talk #6297
matz@zetabits.com (Yukihiro Matsumoto) wrote:
> Hi,
> 
> In message "[ruby-talk:6288] lchown()/etc. and Unix syscall completeness"
>     on 00/11/12, "Brian F. Feldman" <green@FreeBSD.org> writes:
> 
> |Ruby as it is now isn't very consistent with the system calls it provides.  
> 
> In fact, POSIX.1 is inconsistent.  sigh.
> 
> |Many system call wrappers are provided, indeed most of the ones that I need.
> |For example, I need File.stat, and I also need File.lstat; they're both 
> |there.  But other useful ones are missing.  File.chmod and File.chown are 
> |there, but the l-prefixed syscalls like File.lchmod and File.lchown are
> |missing.
> 
> Because I'm not omniscient, of course, there should be the things like
> this time to time.  It tends to be slow to introduce non-POSIX system
> calls, but I don't mean I say no to them.  Even fchown is not among
> POSIX.1.  Anyway I ask you (and others) to provide enough information
> for me to decide how should I (Ruby) handle each of these syscalls on
> the platforms where they are not available.

It is not to criticize you; rather, I would like to know where the limit is 
to be drawn about what should become supported.  That is the hard part about 
it; how far away from support _just_ POSIX should we go?  Or, for instance 
on Windows, even supporting just a small subset of POSIX.  And then 
supporting the system-dependent calls, whether the default for a system 
which doesn't support them should be to return an error or leave them 
undefined.

> And syscalls proposing are lchown and lchmod?

In this case, that is what I'd like :)  The reasoning for chown(2) following 
symbolic links is not clear to me, but it is the standard.  The lchown(2) 
call seems to be widely prevalent as the way to get around this loss of 
functionality.  It's a mess :)

As far as the missing system calls other than those, I'd like 
Process.{group,gid}s (which I've added already), File.chflags, 
Process.setugid? (issetugid(2)), Process.killpg, File.mkfifo,
File.lutime.  There are other more esoteric ones, but these are pretty 
common.   Ruby already supports most of the generally useful system calls.

--
 Brian Fundakowski Feldman           \  FreeBSD: The Power to Serve!  /
 green@FreeBSD.org                    `------------------------------'



In This Thread

Prev Next