re_exchange()
  public
  
  
    Show source    
    
      static VALUE
p_uid_exchange(VALUE obj)
{
    rb_uid_t uid;
    rb_uid_t euid;
    check_uid_switch();
    uid = getuid();
    euid = geteuid();
    if (setresuid(euid, uid, uid) < 0) rb_sys_fail(0);
    SAVED_USER_ID = uid;
    if (setreuid(euid,uid) < 0) rb_sys_fail(0);
    SAVED_USER_ID = uid;
    rb_notimplement();
    return UIDT2NUM(uid);
}