< prev index next >
src/java.base/windows/native/libnio/ch/WindowsSelectorImpl.c
Print this page
rev 53271 : 8216981: Per thread IO statistics in JFR
@@ -196,35 +196,44 @@
JNIEXPORT void JNICALL
Java_sun_nio_ch_WindowsSelectorImpl_setWakeupSocket0(JNIEnv *env, jclass this,
jint scoutFd)
{
+ int written;
/* Write one byte into the pipe */
const char byte = 1;
- send(scoutFd, &byte, 1, 0);
+ written = send(scoutFd, &byte, 1, 0);
+
+ if (written > 0) {
+ JVM_callFileWriteBytes(env, written);
+ }
}
JNIEXPORT void JNICALL
Java_sun_nio_ch_WindowsSelectorImpl_resetWakeupSocket0(JNIEnv *env, jclass this,
jint scinFd)
{
char bytes[WAKEUP_SOCKET_BUF_SIZE];
long bytesToRead;
+ int read;
/* Drain socket */
/* Find out how many bytes available for read */
ioctlsocket (scinFd, FIONREAD, &bytesToRead);
if (bytesToRead == 0) {
return;
}
/* Prepare corresponding buffer if needed, and then read */
if (bytesToRead > WAKEUP_SOCKET_BUF_SIZE) {
char* buf = (char*)malloc(bytesToRead);
- recv(scinFd, buf, bytesToRead, 0);
+ read = recv(scinFd, buf, bytesToRead, 0);
free(buf);
} else {
- recv(scinFd, bytes, WAKEUP_SOCKET_BUF_SIZE, 0);
+ read = recv(scinFd, bytes, WAKEUP_SOCKET_BUF_SIZE, 0);
+ }
+ if (read > 0) {
+ JVM_callNetworkReadBytes(env, read);
}
}
JNIEXPORT jboolean JNICALL
Java_sun_nio_ch_WindowsSelectorImpl_discardUrgentData(JNIEnv* env, jobject this,
< prev index next >