2016-03-24 3 views
3

Я пытаюсь найти собственную реализацию метода для Linux:Где встроенные методы linux в openjdk?

private native int socketRead0(FileDescriptor fd, 
            byte b[], int off, int len, 
            int timeout) 

Я не мог найти его в исходных файлах OpenJDK. Я grepped все файлы для «socketRead0», но он нашел только реализации для окон и соляриев. Где это?

+0

Вы имеете в виду в источниках Java? Возможно, он не нужен/не поддерживается. Кроме того, для чего вам это нужно? Вы не должны называть это так или иначе. – Thomas

+0

My thread stucks при этом нативном вызове метода. Вот почему мне нужно проверить собственный код. – user3364192

+0

Это может помочь [SocketInputStream.c] (http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/687fd7c7986d/src/windows/native/java/net/SocketInputStream.c) и отчет об ошибке [ JDK-8075484] (https://bugs.openjdk.java.net/browse/JDK-8075484) – SubOptimal

ответ

0

socketRead0 реализация для Linux определена в версии Solaris: SocketInputStream.c. Этот файл включает net_util.h, который, в свою очередь, включает net_util_md.h.

net_util_md.h использует #ifdef __linux__ директиву различать Linux и Solaris

 Смежные вопросы

  • Нет связанных вопросов^_^