Skip to content

Portability to Windows #31

Description

@attipaci

Currently RedisX builds on POSIX (Linux, MacOS, BSD, Cygwin, WSL), but not natively on Windows. A number of changes will be necessary to enable Windows builds:

  • portable mutexes (via xmutex.h from the upcoming xchange 1.2.0 dependency)
  • Thread managements for windows without the POSIX pthread library (may eliminate Threads dependence on WIN32).
  • Use <io.h> instead of unistd.h, and _close() / _access() instead of UNIX close() / access().
  • Use _getch() from <conio.h> for parsing passwords in redisx-cli on Windows. (Eliminates libbsd dependence on WIN32).
  • networking headers
  • uname() -> GetComputerNameA()
  • poll() -> WSAPoll()
  • feature macro for struct timespec
  • Thread function parameter and return types.
  • setsockopt() pointer argument type.
  • Enable windows-latest in build-cmake.yml matrix.
  • ioctl() -> ioctlsocket()
  • sched_yield() -> SwitchToThread()
  • Update README

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

Fields

No fields configured for Task.

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions