org.jruby.Ruby.newErrnoEPERMError()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(7.8k)|赞(0)|评价(0)|浏览(92)

本文整理了Java中org.jruby.Ruby.newErrnoEPERMError方法的一些代码示例,展示了Ruby.newErrnoEPERMError的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Ruby.newErrnoEPERMError方法的具体详情如下:
包路径:org.jruby.Ruby
类名称:Ruby
方法名:newErrnoEPERMError

Ruby.newErrnoEPERMError介绍

暂无

代码示例

代码示例来源:origin: org.jruby/jruby-complete

IntByReference status = new IntByReference(0);
  if(kernel32().GetExitCodeProcess(ptr, status) == 0) {
   throw runtime.newErrnoEPERMError("unable to call GetExitCodeProcess " + pid);
  } else {
    if(status.intValue() != STILL_ACTIVE) {
      throw runtime.newErrnoEPERMError("Process exists but is not alive anymore " + pid);
  throw runtime.newErrnoESRCHError();
} else {
  throw runtime.newErrnoEPERMError("Process does not exist " + pid);
  IntByReference status = new IntByReference(0);
  if(kernel32().GetExitCodeProcess(ptr, status) == 0) {
    throw runtime.newErrnoEPERMError("unable to call GetExitCodeProcess " + pid); // todo better error messages
  } else {
    if (status.intValue() == STILL_ACTIVE) {
      if (kernel32().TerminateProcess(ptr, 0) == 0) {
        throw runtime.newErrnoEPERMError("unable to call TerminateProcess " + pid);
  throw runtime.newErrnoESRCHError();
} else {
  throw runtime.newErrnoEPERMError("Process does not exist " + pid);

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

IntByReference status = new IntByReference(0);
  if(kernel32().GetExitCodeProcess(ptr, status) == 0) {
   throw runtime.newErrnoEPERMError("unable to call GetExitCodeProcess " + pid);
  } else {
    if(status.intValue() != STILL_ACTIVE) {
      throw runtime.newErrnoEPERMError("Process exists but is not alive anymore " + pid);
  throw runtime.newErrnoESRCHError();
} else {
  throw runtime.newErrnoEPERMError("Process does not exist " + pid);
  IntByReference status = new IntByReference(0);
  if(kernel32().GetExitCodeProcess(ptr, status) == 0) {
    throw runtime.newErrnoEPERMError("unable to call GetExitCodeProcess " + pid); // todo better error messages
  } else {
    if (status.intValue() == STILL_ACTIVE) {
      if (kernel32().TerminateProcess(ptr, 0) == 0) {
        throw runtime.newErrnoEPERMError("unable to call TerminateProcess " + pid);
  throw runtime.newErrnoESRCHError();
} else {
  throw runtime.newErrnoEPERMError("Process does not exist " + pid);

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

IntByReference status = new IntByReference(0);
  if(kernel32().GetExitCodeProcess(ptr, status) == 0) {
   throw runtime.newErrnoEPERMError("unable to call GetExitCodeProcess " + pid);
  } else {
    if(status.intValue() != STILL_ACTIVE) {
      throw runtime.newErrnoEPERMError("Process exists but is not alive anymore " + pid);
  throw runtime.newErrnoESRCHError();
} else {
  throw runtime.newErrnoEPERMError("Process does not exist " + pid);
  IntByReference status = new IntByReference(0);
  if(kernel32().GetExitCodeProcess(ptr, status) == 0) {
    throw runtime.newErrnoEPERMError("unable to call GetExitCodeProcess " + pid); // todo better error messages
  } else {
    if (status.intValue() == STILL_ACTIVE) {
      if (kernel32().TerminateProcess(ptr, 0) == 0) {
        throw runtime.newErrnoEPERMError("unable to call TerminateProcess " + pid);
  throw runtime.newErrnoESRCHError();
} else {
  throw runtime.newErrnoEPERMError("Process does not exist " + pid);

代码示例来源:origin: org.jruby/jruby-core

IntByReference status = new IntByReference(0);
  if(kernel32().GetExitCodeProcess(ptr, status) == 0) {
   throw runtime.newErrnoEPERMError("unable to call GetExitCodeProcess " + pid);
  } else {
    if(status.intValue() != STILL_ACTIVE) {
      throw runtime.newErrnoEPERMError("Process exists but is not alive anymore " + pid);
  throw runtime.newErrnoESRCHError();
} else {
  throw runtime.newErrnoEPERMError("Process does not exist " + pid);
  IntByReference status = new IntByReference(0);
  if(kernel32().GetExitCodeProcess(ptr, status) == 0) {
    throw runtime.newErrnoEPERMError("unable to call GetExitCodeProcess " + pid); // todo better error messages
  } else {
    if (status.intValue() == STILL_ACTIVE) {
      if (kernel32().TerminateProcess(ptr, 0) == 0) {
        throw runtime.newErrnoEPERMError("unable to call TerminateProcess " + pid);
  throw runtime.newErrnoESRCHError();
} else {
  throw runtime.newErrnoEPERMError("Process does not exist " + pid);

代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby

@JRubyMethod(name = {"unlink", "delete"}, rest = true, meta = true)
public static IRubyObject unlink(ThreadContext context, IRubyObject recv, IRubyObject[] args) {
  Ruby runtime = context.runtime;
     for (int i = 0; i < args.length; i++) {
    RubyString filename = get_path(context, args[i]);
    JRubyFile lToDelete = JRubyFile.create(runtime.getCurrentDirectory(), filename.getUnicodeValue());
    
    boolean isSymlink = RubyFileTest.symlink_p(recv, filename).isTrue();
    // Broken symlinks considered by exists() as non-existing,
    // so we need to check for symlinks explicitly.
    if (!lToDelete.exists() && !isSymlink) {
      throw runtime.newErrnoENOENTError(filename.getUnicodeValue());
    }
    if (lToDelete.isDirectory() && !isSymlink) {
      throw runtime.newErrnoEPERMError(filename.getUnicodeValue());
    }
    if (!lToDelete.delete()) {
      throw runtime.newErrnoEACCESError(filename.getUnicodeValue());
    }
  }
  
  return runtime.newFixnum(args.length);
}

代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby

@JRubyMethod(name = {"unlink", "delete"}, rest = true, meta = true)
public static IRubyObject unlink(ThreadContext context, IRubyObject recv, IRubyObject[] args) {
  Ruby runtime = context.runtime;
     for (int i = 0; i < args.length; i++) {
    RubyString filename = get_path(context, args[i]);
    JRubyFile lToDelete = JRubyFile.create(runtime.getCurrentDirectory(), filename.getUnicodeValue());
    
    boolean isSymlink = RubyFileTest.symlink_p(recv, filename).isTrue();
    // Broken symlinks considered by exists() as non-existing,
    // so we need to check for symlinks explicitly.
    if (!lToDelete.exists() && !isSymlink) {
      throw runtime.newErrnoENOENTError(filename.getUnicodeValue());
    }
    if (lToDelete.isDirectory() && !isSymlink) {
      throw runtime.newErrnoEPERMError(filename.getUnicodeValue());
    }
    if (!lToDelete.delete()) {
      throw runtime.newErrnoEACCESError(filename.getUnicodeValue());
    }
  }
  
  return runtime.newFixnum(args.length);
}

代码示例来源:origin: org.jruby/jruby-complete

@JRubyMethod(rest = true, meta = true)
public static IRubyObject unlink(ThreadContext context, IRubyObject recv, IRubyObject[] args) {
  Ruby runtime = context.runtime;
  POSIX posix = runtime.getPosix();
  if (!posix.isNative() || Platform.IS_WINDOWS) return delete(context, recv, args);
  for (int i = 0; i < args.length; i++) {
    RubyString filename = StringSupport.checkEmbeddedNulls(runtime, get_path(context, args[i]));
    JRubyFile lToDelete = JRubyFile.create(runtime.getCurrentDirectory(), filename.getUnicodeValue());
    boolean isSymlink = RubyFileTest.symlink_p(recv, filename).isTrue();
    // Broken symlinks considered by exists() as non-existing,
    // so we need to check for symlinks explicitly.
    if (!lToDelete.exists() && !isSymlink) {
      throw runtime.newErrnoENOENTError(filename.getUnicodeValue());
    }
    if (lToDelete.isDirectory() && !isSymlink) {
      throw runtime.newErrnoEPERMError(filename.getUnicodeValue());
    }
    if (posix.unlink(lToDelete.getAbsolutePath()) < 0) {
      throw runtime.newErrnoFromInt(posix.errno());
    }
  }
  return runtime.newFixnum(args.length);
}

代码示例来源:origin: org.jruby/jruby-core

@JRubyMethod(rest = true, meta = true)
public static IRubyObject unlink(ThreadContext context, IRubyObject recv, IRubyObject[] args) {
  Ruby runtime = context.runtime;
  POSIX posix = runtime.getPosix();
  if (!posix.isNative() || Platform.IS_WINDOWS) return delete(context, recv, args);
  for (int i = 0; i < args.length; i++) {
    RubyString filename = StringSupport.checkEmbeddedNulls(runtime, get_path(context, args[i]));
    JRubyFile lToDelete = JRubyFile.create(runtime.getCurrentDirectory(), filename.getUnicodeValue());
    boolean isSymlink = RubyFileTest.symlink_p(recv, filename).isTrue();
    // Broken symlinks considered by exists() as non-existing,
    // so we need to check for symlinks explicitly.
    if (!lToDelete.exists() && !isSymlink) {
      throw runtime.newErrnoENOENTError(filename.getUnicodeValue());
    }
    if (lToDelete.isDirectory() && !isSymlink) {
      throw runtime.newErrnoEPERMError(filename.getUnicodeValue());
    }
    if (posix.unlink(lToDelete.getAbsolutePath()) < 0) {
      throw runtime.newErrnoFromInt(posix.errno());
    }
  }
  return runtime.newFixnum(args.length);
}

相关文章

微信公众号

最新文章

更多

Ruby类方法