Преглед на файлове

LibCore: Add OpenBSD headers to System and LocalSocket

Add the correct header to System.h and add OpenBSD-specific handling of
signals and socket process id
tuftedocelot преди 3 години
родител
ревизия
ea0a002468
променени са 3 файла, в които са добавени 5 реда и са изтрити 2 реда
  1. 3 0
      Userland/Libraries/LibCore/LocalSocket.cpp
  2. 1 1
      Userland/Libraries/LibCore/System.cpp
  3. 1 1
      Userland/Libraries/LibCore/System.h

+ 3 - 0
Userland/Libraries/LibCore/LocalSocket.cpp

@@ -65,6 +65,9 @@ pid_t LocalSocket::peer_pid() const
 #elif defined(__FreeBSD__)
     struct xucred creds = {};
     socklen_t creds_size = sizeof(creds);
+#elif defined(__OpenBSD__)
+    struct sockpeercred creds = {};
+    socklen_t creds_size = sizeof(creds);
 #else
     struct ucred creds = {};
     socklen_t creds_size = sizeof(creds);

+ 1 - 1
Userland/Libraries/LibCore/System.cpp

@@ -131,7 +131,7 @@ ErrorOr<void> sigaction(int signal, struct sigaction const* action, struct sigac
     return {};
 }
 
-#ifdef __APPLE__
+#if defined(__APPLE__) || defined(__OpenBSD__)
 ErrorOr<sig_t> signal(int signal, sig_t handler)
 #else
 ErrorOr<sighandler_t> signal(int signal, sighandler_t handler)

+ 1 - 1
Userland/Libraries/LibCore/System.h

@@ -41,7 +41,7 @@ ErrorOr<int> accept4(int sockfd, struct sockaddr*, socklen_t*, int flags);
 #endif
 
 ErrorOr<void> sigaction(int signal, struct sigaction const* action, struct sigaction* old_action);
-#ifdef __APPLE__
+#if defined(__APPLE__) || defined(__OpenBSD__)
 ErrorOr<sig_t> signal(int signal, sig_t handler);
 #else
 ErrorOr<sighandler_t> signal(int signal, sighandler_t handler);