[PR #328] [MERGED] Core/Socket: Unix domain socket (AF_UNIX) support for Windows #317

Closed
opened 2026-05-05 03:45:38 -06:00 by gitea-mirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/ultimatepp/ultimatepp/pull/328
Author: @ismail-yilmaz
Created: 12/13/2025
Status: Merged
Merged: 1/17/2026
Merged by: @mirek-fidler

Base: masterHead: af_unix_win32


📝 Commits (1)

  • 991f3af Core/Socket: Unix domain socket (AF_UNIX) support for Windows

📊 Changes

6 files changed (+168 additions, -123 deletions)

View changed files

📝 autotest/UnixSocket/UnixSocket.cpp (+54 -41)
📝 reference/UnixSocketClient/UnixSocketClient.cpp (+22 -17)
📝 reference/UnixSocketServer/UnixSocketServer.cpp (+14 -8)
📝 uppsrc/Core/Inet.h (+2 -5)
📝 uppsrc/Core/Socket.cpp (+57 -39)
📝 uppsrc/Core/src.tpp/Socket_en-us.tpp (+19 -13)

📄 Description

This PR adds support for AF_UNIX (Unix domain sockets) on Windows using native Winsock functionality available in Windows 10 (1803+) and newer.

(Tom informed me about the availability of AF_UNIX on Windows, and here we are.)

Notes

  • AF_UNIX is enabled only when available at compile time (#ifdef AF_UNIX)
  • Uses <afunix.h> on Windows for sockaddr_un
  • Linux-only features (abstract sockets, peer credentials) are explicitly rejected on other platforms
  • Exposes AF_UNIX methods of Socket to all platforms but ensures graceful failure on unsupported systems.

Limitations on Windows

  • Path-based UNIX sockets only
  • No abstract socket namespace
  • No peer PID / credential support

Other

  • Examples and autotest are updated.
  • POSIX behavior is unchanged.

Please check.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/ultimatepp/ultimatepp/pull/328 **Author:** [@ismail-yilmaz](https://github.com/ismail-yilmaz) **Created:** 12/13/2025 **Status:** ✅ Merged **Merged:** 1/17/2026 **Merged by:** [@mirek-fidler](https://github.com/mirek-fidler) **Base:** `master` ← **Head:** `af_unix_win32` --- ### 📝 Commits (1) - [`991f3af`](https://github.com/ultimatepp/ultimatepp/commit/991f3af43f80be00b563015f224180c1f4f7f49c) Core/Socket: Unix domain socket (AF_UNIX) support for Windows ### 📊 Changes **6 files changed** (+168 additions, -123 deletions) <details> <summary>View changed files</summary> 📝 `autotest/UnixSocket/UnixSocket.cpp` (+54 -41) 📝 `reference/UnixSocketClient/UnixSocketClient.cpp` (+22 -17) 📝 `reference/UnixSocketServer/UnixSocketServer.cpp` (+14 -8) 📝 `uppsrc/Core/Inet.h` (+2 -5) 📝 `uppsrc/Core/Socket.cpp` (+57 -39) 📝 `uppsrc/Core/src.tpp/Socket_en-us.tpp` (+19 -13) </details> ### 📄 Description This PR adds support for **AF_UNIX (Unix domain sockets) on Windows** using native Winsock functionality available in Windows 10 (1803+) and newer. (Tom informed me about the availability of AF_UNIX on Windows, and here we are.) ### Notes * AF_UNIX is enabled only when available at compile time (`#ifdef AF_UNIX`) * Uses `<afunix.h>` on Windows for `sockaddr_un` * Linux-only features (abstract sockets, peer credentials) are explicitly rejected on other platforms * Exposes AF_UNIX methods of Socket to all platforms but ensures graceful failure on unsupported systems. ### Limitations on Windows * Path-based UNIX sockets only * No abstract socket namespace * No peer PID / credential support ### Other * Examples and autotest are updated. * POSIX behavior is unchanged. Please check. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
gitea-mirror 2026-05-05 03:45:38 -06:00
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/ultimatepp#317
No description provided.