fix(jobs): stub Windows para que la build cross-compile (issue 0026)

El sistema de jobs usa fork+exec+pipes POSIX que no existen en MinGW.
Anade un stub _WIN32 que devuelve false en jobs_init y no-op en el resto,
de forma que la app compila para Windows pero los enrichers quedan
desactivados ahi. La build Linux/WSL conserva la implementacion completa.

TODO futuro: implementacion Windows con CreateProcess + anonymous pipes
+ TerminateProcess. No urgente — el desarrollo principal es WSL.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-01 18:42:46 +02:00
parent b329358efa
commit a7c227354b
+47
View File
@@ -1,5 +1,50 @@
#include "jobs.h"
#ifdef _WIN32
// ----------------------------------------------------------------------------
// Windows stub (issue 0026): la implementacion real usa fork+exec+pipes POSIX.
// La version Windows debe escribirse con CreateProcess + anonymous pipes +
// ReadFile/WriteFile + TerminateProcess. Por ahora, en Windows el panel Jobs
// queda inactivo — el resto de la app funciona normal. TODO: implementar
// con la API Win32.
// ----------------------------------------------------------------------------
#include <cstdio>
namespace ge {
bool jobs_init(const char*, const char*, const char*, const char*, const char*, int) {
std::fprintf(stderr,
"[jobs] Windows stub: enrichers no disponibles en esta build "
"(usa la build Linux/WSL para correr enrichers).\n");
return false;
}
void jobs_set_ops_db(const char*) {}
bool jobs_submit(const char*, const char*, const char*, const char*,
char* out_id, size_t out_id_n)
{
if (out_id && out_id_n > 0) out_id[0] = '\0';
return false;
}
bool jobs_cancel(const char*) { return false; }
bool jobs_delete(const char*) { return false; }
bool jobs_list (std::vector<JobRow>* out, int) {
if (out) out->clear();
return true;
}
JobCounters jobs_counters() { return JobCounters{}; }
int jobs_dirty_counter() { return 0; }
void jobs_shutdown() {}
} // namespace ge
#else
// ----------------------------------------------------------------------------
// POSIX (Linux/WSL/macOS): implementacion real con fork+exec+pipes.
// ----------------------------------------------------------------------------
#include "../../../../cpp/vendor/sqlite3/sqlite3.h"
#include <atomic>
@@ -860,3 +905,5 @@ void jobs_shutdown() {
}
} // namespace ge
#endif // _WIN32