summaryrefslogtreecommitdiff
path: root/w32/include/sub_proc.h
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2011-11-14 00:42:49 +0000
committerPaul Smith <psmith@gnu.org>2011-11-14 00:42:49 +0000
commit63888b91f62a9c126c1cfa61ec3ffac35a6a36f1 (patch)
tree345319c17418652774ea176d9175b33132240c7f /w32/include/sub_proc.h
parent934f51d166848c275828f14ad5cc29fe1c3b578a (diff)
downloadgunmake-63888b91f62a9c126c1cfa61ec3ffac35a6a36f1.tar.gz
Support jobserver capability on Windows systems.
Implementation contributed by Troy Runkel <Troy.Runkel@mathworks.com>
Diffstat (limited to 'w32/include/sub_proc.h')
-rw-r--r--w32/include/sub_proc.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/w32/include/sub_proc.h b/w32/include/sub_proc.h
index 9133ce3..b61373d 100644
--- a/w32/include/sub_proc.h
+++ b/w32/include/sub_proc.h
@@ -40,7 +40,7 @@ EXTERN_DECL(long process_pipe_io, (HANDLE proc, char *stdin_data,
int stdin_data_len));
EXTERN_DECL(long process_file_io, (HANDLE proc));
EXTERN_DECL(void process_cleanup, (HANDLE proc));
-EXTERN_DECL(HANDLE process_wait_for_any, (VOID_DECL));
+EXTERN_DECL(HANDLE process_wait_for_any, (int block, DWORD* pdwWaitStatus));
EXTERN_DECL(void process_register, (HANDLE proc));
EXTERN_DECL(HANDLE process_easy, (char** argv, char** env));
EXTERN_DECL(BOOL process_kill, (HANDLE proc, int signal));
@@ -57,4 +57,14 @@ EXTERN_DECL(int process_outcnt, (HANDLE proc));
EXTERN_DECL(int process_errcnt, (HANDLE proc));
EXTERN_DECL(void process_pipes, (HANDLE proc, int pipes[3]));
+/* jobserver routines */
+EXTERN_DECL(int open_jobserver_semaphore, (char* name));
+EXTERN_DECL(int create_jobserver_semaphore, (int tokens));
+EXTERN_DECL(void free_jobserver_semaphore, (VOID_DECL));
+EXTERN_DECL(int acquire_jobserver_semaphore, (VOID_DECL));
+EXTERN_DECL(int release_jobserver_semaphore, (VOID_DECL));
+EXTERN_DECL(int has_jobserver_semaphore, (VOID_DECL));
+EXTERN_DECL(char* get_jobserver_semaphore_name, (VOID_DECL));
+EXTERN_DECL(int wait_for_semaphore_or_child_process, (VOID_DECL));
+
#endif