Story: Hotfix: Windows build broken on unistd.h include

Table of Contents

This page documents a story in Sprint 25. It captures the goal, current status, acceptance criteria, and the tasks that compose it.

1. Goal

The Windows CI build breaks at projects/ores.database/src/service/postgres_listener_service.cpp:27 with C1083: cannot open include file 'unistd.h'. PR #1998 introduced the POSIX-only include together with ::getpid() to name the listener's dedicated connection. The fix restores the Windows build by adding ores.platform::process::current_pid() — a cross-platform wrapper over boost::process::v2::current_pid() — and migrating every getpid call site to it, retiring the ad-hoc #ifdef patterns.

2. Status

Field Value
State DONE
Parent sprint Sprint 25
Now Nothing.
Waiting on Nothing.
Next Nothing.
Last touched 2026-08-31

3. Acceptance

  • The Windows CI (MSVC) build compiles postgres_listener_service.cpp.
  • The Linux build and tests still pass.
  • No ad-hoc getpid #ifdef remains; the portability lives in ores.platform.

4. Tasks

Task State Start End Description
Scaffold story: Hotfix: Windows build broken on unistd.h include DONE 2026-08-31 2026-08-31 Story scaffolding rides this task: documents, sprint wiring, and the scaffold PR. Close it before merging that PR.
Implement Hotfix: Windows build broken on unistd.h include DONE 2026-08-31 2026-08-31 Initial task for: Hotfix: Windows build broken on unistd.h include

5. Decisions

6. Out of scope

Emacs 29.3 (Org mode 9.6.15)