o:$YARD::CodeObjects::MethodObject:@scope:
class:@visibility:public:
@pathI"Process.gid=:EF:@parameters[�:@files[[I"process.c;T0:@current_file_has_commentsF:
@name:	gid=:@source_type:c:
@tags[�:@docstringIC:YARD::Docstring"(Sets the group ID for this process.;F:@objectIu:YARD::StubProxyProcess.gid=;F:
@summary0:@ref_tags[�;[o:YARD::Tags::OverloadTag
:@tag_nameI"
overload;F:
@text0;;:@types0:@signatureI"gid=(fixnum);F;IC;"�;F;Iu;Process.gid=;F;0;[�;[o:YARD::Tags::Tag
;I"return;F;I"�;F;0;[I"Fixnum;F;0:	@allI"@return [Fixnum];F;[[:fixnum0;Iu;Process.gid=;F; I"TSets the group ID for this process.


@overload gid=(fixnum)
  @return [Fixnum];F:@namespaceIu;Process;F:@docstring_extra0:@sourceI"/*
 *  call-seq:
 *     Process.gid= fixnum   -> fixnum
 *
 *  Sets the group ID for this process.
 */

static VALUE
proc_setgid(VALUE obj, VALUE id)
{
    rb_gid_t gid;

    check_gid_switch();

    gid = NUM2GIDT(id);
#if defined(HAVE_SETRESGID)
    if (setresgid(gid, -1, -1) < 0) rb_sys_fail(0);
#elif defined HAVE_SETREGID
    if (setregid(gid, -1) < 0) rb_sys_fail(0);
#elif defined HAVE_SETRGID
    if (setrgid(gid) < 0) rb_sys_fail(0);
#elif defined HAVE_SETGID
    {
    if (getegid() == gid) {
        if (setgid(gid) < 0) rb_sys_fail(0);
    }
    else {
        rb_notimplement();
    }
    }
#endif
    return GIDT2NUM(gid);
};F