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:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user