Use restartable closefrom(2)

Index: src/jdk.jdwp.agent/unix/native/libjdwp/exec_md.c
--- src/jdk.jdwp.agent/unix/native/libjdwp/exec_md.c.orig
+++ src/jdk.jdwp.agent/unix/native/libjdwp/exec_md.c
@@ -34,6 +34,13 @@
 #include "util.h"
 #include "error_messages.h"
 
+#define RESTARTABLE(_cmd, _result) do { \
+  do { \
+    _result = _cmd; \
+  } while((_result == -1) && (errno == EINTR)); \
+} while(0)
+
+
 static char *skipWhitespace(char *p) {
     while ((*p != '\0') && isspace(*p)) {
         p++;
@@ -72,6 +79,9 @@ closeDescriptors(void)
 {
 #if defined(__FreeBSD__)
     closefrom(STDERR_FILENO + 1);
+#elif defined(_BSDONLY_SOURCE)
+    int err;
+    RESTARTABLE(closefrom(STDERR_FILENO + 1), err);
 #else
     DIR *dp;
     struct dirent *dirp;
