本文整理了Java中org.jruby.Ruby.newErrnoEAGAINWritableError
方法的一些代码示例,展示了Ruby.newErrnoEAGAINWritableError
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Ruby.newErrnoEAGAINWritableError
方法的具体详情如下:
包路径:org.jruby.Ruby
类名称:Ruby
方法名:newErrnoEAGAINWritableError
暂无
代码示例来源:origin: com.ning.billing/killbill-osgi-bundles-jruby
if (useException) {
if (runtime.is1_9()) {
throw runtime.newErrnoEAGAINWritableError("");
} else {
throw runtime.newErrnoEWOULDBLOCKError();
代码示例来源:origin: org.kill-bill.billing/killbill-osgi-bundles-jruby
if (useException) {
if (runtime.is1_9()) {
throw runtime.newErrnoEAGAINWritableError("");
} else {
throw runtime.newErrnoEWOULDBLOCKError();
代码示例来源:origin: org.jruby/jruby-complete
private IRubyObject ioWriteNonblock(ThreadContext context, Ruby runtime, IRubyObject str, boolean no_exception) {
OpenFile fptr;
long n;
if (!(str instanceof RubyString))
str = str.asString();
RubyIO io = GetWriteIO();
fptr = io.getOpenFileChecked();
boolean locked = fptr.lock();
try {
fptr.checkWritable(context);
if (fptr.io_fflush(context) < 0)
throw runtime.newErrnoFromErrno(fptr.errno(), fptr.getPath());
fptr.setNonblock(runtime);
ByteList strByteList = ((RubyString) str).getByteList();
n = fptr.posix.write(fptr.fd(), strByteList.unsafeBytes(), strByteList.begin(), strByteList.getRealSize(), true);
if (n == -1) {
if (fptr.posix.errno == Errno.EWOULDBLOCK || fptr.posix.errno == Errno.EAGAIN) {
if (no_exception) {
return runtime.newSymbol("wait_writable");
} else {
throw runtime.newErrnoEAGAINWritableError("write would block");
}
}
throw runtime.newErrnoFromErrno(fptr.posix.errno, fptr.getPath());
}
} finally {
if (locked) fptr.unlock();
}
return runtime.newFixnum(n);
}
代码示例来源:origin: org.jruby/jruby-core
private IRubyObject ioWriteNonblock(ThreadContext context, Ruby runtime, IRubyObject str, boolean no_exception) {
OpenFile fptr;
long n;
if (!(str instanceof RubyString))
str = str.asString();
RubyIO io = GetWriteIO();
fptr = io.getOpenFileChecked();
boolean locked = fptr.lock();
try {
fptr.checkWritable(context);
if (fptr.io_fflush(context) < 0)
throw runtime.newErrnoFromErrno(fptr.errno(), fptr.getPath());
fptr.setNonblock(runtime);
ByteList strByteList = ((RubyString) str).getByteList();
n = fptr.posix.write(fptr.fd(), strByteList.unsafeBytes(), strByteList.begin(), strByteList.getRealSize(), true);
if (n == -1) {
if (fptr.posix.errno == Errno.EWOULDBLOCK || fptr.posix.errno == Errno.EAGAIN) {
if (no_exception) {
return runtime.newSymbol("wait_writable");
} else {
throw runtime.newErrnoEAGAINWritableError("write would block");
}
}
throw runtime.newErrnoFromErrno(fptr.posix.errno, fptr.getPath());
}
} finally {
if (locked) fptr.unlock();
}
return runtime.newFixnum(n);
}
内容来源于网络,如有侵权,请联系作者删除!