Skip to content

Commit

Permalink
Showing 2 changed files with 19 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -351,6 +351,20 @@ public int getpriority(int kind, int id) {

}

@CoreMethod(names = "setgid", isModuleFunction = true, required = 1, lowerFixnumParameters = 0)
public abstract static class SetgidNode extends CoreMethodArrayArgumentsNode {

public SetgidNode(RubyContext context, SourceSection sourceSection) {
super(context, sourceSection);
}

@Specialization
public int setgid(int gid) {
return posix().setgid(gid);
}

}

@CoreMethod(names = "setpriority", isModuleFunction = true, required = 3, lowerFixnumParameters = {0, 1, 2})
public abstract static class SetPriorityNode extends CoreMethodArrayArgumentsNode {

5 changes: 5 additions & 0 deletions truffle/src/main/ruby/core/rubinius/common/process.rb
Original file line number Diff line number Diff line change
@@ -130,6 +130,11 @@ def self.uid=(uid)
uid
end

def self.gid=(gid)
gid = Rubinius::Type.coerce_to gid, Integer, :to_int
Process::Sys.setgid gid
end

def self.euid=(uid)
# the 4 rescue clauses below are needed
# until respond_to? can be used to query the implementation of methods attached via FFI

0 comments on commit e34bf1b

Please sign in to comment.