From 8a9bb1124569857d3e41ba954e7fdcd0546448fa Mon Sep 17 00:00:00 2001 From: "SANO,Masatoshi" Date: Fri, 8 Aug 2025 13:56:39 +0900 Subject: [PATCH] Port dll function via lisp with CFFI on windows.Clean up windows related code from C/CI. --- .github/workflows/build.yml | 60 ----- src/async-process.asd | 5 +- src/async-process.c | 3 - src/async-process.h | 24 +- src/async-process_windows.c | 121 --------- src/async-process_windows.lisp | 285 ++++++++++++++++++++++ static/x86/windows/libasyncprocess.dll | Bin 91964 -> 0 bytes static/x86_64/windows/libasyncprocess.dll | Bin 107946 -> 0 bytes 8 files changed, 295 insertions(+), 203 deletions(-) delete mode 100644 src/async-process_windows.c create mode 100644 src/async-process_windows.lisp delete mode 100644 static/x86/windows/libasyncprocess.dll delete mode 100644 static/x86_64/windows/libasyncprocess.dll diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 64f3cbb..a1132ae 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -133,63 +133,3 @@ jobs: with: name: ${{ env.RESULT_NAME }} path: ${{ env.RESULT_PATH }} - - build-windows: - runs-on: windows-latest - timeout-minutes: 90 - strategy: - fail-fast: false - matrix: - arch: [x86_64, i686] - include: - - arch: x86_64 - arch2: x86_64 - bit: 64 - - arch: i686 - arch2: x86 - bit: 32 - env: - OS_NAME: windows - ARCH_NAME: ${{ matrix.arch2 }} - DLL_NAME: libasyncprocess.dll - RESULT_NAME: result-windows-${{ matrix.arch }} - RESULT_PATH: result-windows-${{ matrix.arch }} - RESULT_PATH_SUB: result-async/static - steps: - - run: git config --global core.autocrlf false - - uses: actions/checkout@v2 - - uses: msys2/setup-msys2@v2 - with: - msystem: MINGW${{ matrix.bit }} - path-type: inherit - release: true - update: true - install: 'base-devel mingw-w64-${{ matrix.arch }}-toolchain' - - name: Run MSYS2 once - shell: msys2 {0} - run: | - pwd - echo $MSYSTEM - echo $MSYS2_PATH_TYPE - echo $PATH - uname - uname -m - - name: Build - shell: msys2 {0} - run: | - gcc -v - rm static/$ARCH_NAME/$OS_NAME/$DLL_NAME - ./bootstrap - - name: Copy Result - if: always() - shell: msys2 {0} - run: | - mkdir -p $RESULT_PATH/$RESULT_PATH_SUB/$ARCH_NAME/$OS_NAME - cp static/$ARCH_NAME/$OS_NAME/$DLL_NAME $RESULT_PATH/$RESULT_PATH_SUB/$ARCH_NAME/$OS_NAME - - name: Upload Result - if: always() - uses: actions/upload-artifact@v1 - with: - name: ${{ env.RESULT_NAME }} - path: ${{ env.RESULT_PATH }} - diff --git a/src/async-process.asd b/src/async-process.asd index 98f25d2..9f506ec 100644 --- a/src/async-process.asd +++ b/src/async-process.asd @@ -5,4 +5,7 @@ :license "MIT" :depends-on ("cffi") :serial t - :components ((:file "async-process"))) + :components ((:file "async-process_windows" + :if-feature (:or :win32 :windows)) + (:file "async-process" + :if-feature (:not (:or :win32 :windows))))) diff --git a/src/async-process.c b/src/async-process.c index f6b871f..ad58157 100644 --- a/src/async-process.c +++ b/src/async-process.c @@ -1,7 +1,5 @@ #include "async-process.h" -#ifndef HAVE_WINDOWS_H - static const char* open_pty(int *out_fd) { int fd = posix_openpt(O_RDWR | O_CLOEXEC | O_NOCTTY); @@ -133,4 +131,3 @@ int process_alive_p(struct process *process) { return kill(process->pid, 0) == 0; } -#endif diff --git a/src/async-process.h b/src/async-process.h index 38cafb1..dd2b26f 100644 --- a/src/async-process.h +++ b/src/async-process.h @@ -5,17 +5,12 @@ # include "config.h" #endif - -#ifdef HAVE_WINDOWS_H -# include -#else -# define _GNU_SOURCE -# include -# include -# include -# include -# include -#endif +#define _GNU_SOURCE +#include +#include +#include +#include +#include #include #include @@ -25,16 +20,9 @@ struct process { char buffer[1024*4]; -#ifdef HAVE_WINDOWS_H - PROCESS_INFORMATION pi; - HANDLE hInputWrite; - HANDLE hOutputRead; - bool nonblock; -#else int fd; char *pty_name; pid_t pid; -#endif }; struct process* create_process(char *const command[], bool nonblock, const char *path); diff --git a/src/async-process_windows.c b/src/async-process_windows.c deleted file mode 100644 index c763a79..0000000 --- a/src/async-process_windows.c +++ /dev/null @@ -1,121 +0,0 @@ -#include "async-process.h" -#ifdef HAVE_WINDOWS_H - -__declspec(dllexport) -struct process* create_process(char *const command[], bool nonblock, const char *path) -{ - struct process* ret=malloc(sizeof(struct process)); - HANDLE hErrorWrite = INVALID_HANDLE_VALUE; - HANDLE hOutputReadTmp = INVALID_HANDLE_VALUE; - HANDLE hOutputWrite = INVALID_HANDLE_VALUE; - HANDLE hInputWriteTmp = INVALID_HANDLE_VALUE; - HANDLE hInputRead = INVALID_HANDLE_VALUE; - - SECURITY_ATTRIBUTES sa; - ret->nonblock=nonblock; - sa.nLength = sizeof(SECURITY_ATTRIBUTES); - sa.lpSecurityDescriptor = 0; - sa.bInheritHandle = TRUE; - - HANDLE currproc = GetCurrentProcess(); - - if (!CreatePipe(&hOutputReadTmp, &hOutputWrite, &sa, 0)) - return NULL; - if (!DuplicateHandle(currproc, hOutputWrite, currproc, &hErrorWrite, 0, TRUE, DUPLICATE_SAME_ACCESS)) - return NULL; - if (!CreatePipe(&hInputRead, &hInputWriteTmp, &sa, 0)) - return NULL; - if (!DuplicateHandle(currproc, hOutputReadTmp, currproc, &(ret->hOutputRead), 0, FALSE, DUPLICATE_SAME_ACCESS)) - return NULL; - if (!DuplicateHandle(currproc, hInputWriteTmp, currproc, &(ret->hInputWrite), 0, FALSE, DUPLICATE_SAME_ACCESS)) - return NULL; - - CloseHandle(hOutputReadTmp); - CloseHandle(hInputWriteTmp); - - STARTUPINFOA si; - - ZeroMemory(&si, sizeof(STARTUPINFO)); - si.cb = sizeof(STARTUPINFO); - si.dwFlags = STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW; - si.wShowWindow = SW_HIDE; - si.hStdInput = hInputRead; - si.hStdOutput = hOutputWrite; - si.hStdError = hErrorWrite; - { - char *tmp; - int size = 0; - for(int i=0;command[i]!=NULL;++i) - size+=strlen(command[i])+1; - tmp=alloca(size); - for(int i=0,j=0,k=0;;++j,++k) { - if(command[i][j]=='\0') { - j=-1; - if(command[++i]) { - tmp[k]=' '; - }else { - tmp[k]='\0'; - break; - } - }else - tmp[k]=command[i][j]; - } - if (!CreateProcessA(0, tmp, 0, 0, TRUE, CREATE_NO_WINDOW, 0, path, &si, &(ret->pi))) - return NULL; - } - CloseHandle(hOutputWrite); - CloseHandle(hInputRead); - CloseHandle(hErrorWrite); - - return ret; -} - -__declspec(dllexport) -void delete_process(struct process *process) -{ - TerminateProcess(process->pi.hProcess,2); - CloseHandle(process->hInputWrite); - CloseHandle(process->hOutputRead); - CloseHandle(process->pi.hThread); - free(process); -} - -__declspec(dllexport) -int process_pid(struct process *process) -{ - return process->pi.dwProcessId; -} - -__declspec(dllexport) -void process_send_input(struct process *process, const char *string) -{ - DWORD n = 0; - WriteFile(process->hInputWrite,string,strlen(string),&n,NULL); -} - -__declspec(dllexport) -const char* process_receive_output(struct process *process) -{ - DWORD n = 0; - DWORD avail; - if(process->nonblock) { - if (!PeekNamedPipe (process->hOutputRead, 0, 0, 0, &avail, 0)) - return NULL; - if(!avail) - return NULL; - } - if (ReadFile(process->hOutputRead, process->buffer, sizeof(process->buffer)-1, &n, NULL)) { - process->buffer[n] = '\0'; - return process->buffer; - } - return NULL; -} - -__declspec(dllexport) -int process_alive_p(struct process *process) -{ - DWORD dwExitCode; - GetExitCodeProcess(process->pi.hProcess, &dwExitCode); - return (dwExitCode == STILL_ACTIVE); -} -#endif diff --git a/src/async-process_windows.lisp b/src/async-process_windows.lisp new file mode 100644 index 0000000..f8275f3 --- /dev/null +++ b/src/async-process_windows.lisp @@ -0,0 +1,285 @@ +(defpackage :async-process + (:use :cl) + (:export + :delete-process + :process-send-input + :process-receive-output + :process-alive-p + :create-process)) +(in-package :async-process) + +;; Windows API definitions via CFFI +(cffi:define-foreign-library kernel32 + (:windows "kernel32.dll")) + +(cffi:use-foreign-library kernel32) + +;; Constants +(defconstant +invalid-handle-value+ #xFFFFFFFF) +(defconstant +create-no-window+ #x08000000) +(defconstant +startf-usestdhandles+ #x00000100) +(defconstant +startf-useshowwindow+ #x00000001) +(defconstant +sw-hide+ 0) +(defconstant +duplicate-same-access+ #x00000002) +(defconstant +still-active+ 259) + +;; Structures +(cffi:defcstruct security-attributes + (length :uint32) + (security-descriptor :pointer) + (inherit-handle :boolean)) + +(cffi:defcstruct startup-info + (cb :uint32) + (reserved :pointer) + (desktop :pointer) + (title :pointer) + (x :uint32) + (y :uint32) + (x-size :uint32) + (y-size :uint32) + (x-count-chars :uint32) + (y-count-chars :uint32) + (fill-attribute :uint32) + (flags :uint32) + (show-window :uint16) + (cb-reserved2 :uint16) + (reserved2 :pointer) + (std-input :pointer) + (std-output :pointer) + (std-error :pointer)) + +(cffi:defcstruct process-information + (process :pointer) + (thread :pointer) + (process-id :uint32) + (thread-id :uint32)) + +;; Windows API functions +(cffi:defcfun ("CreatePipe" create-pipe) :boolean + (read-pipe (:pointer :pointer)) + (write-pipe (:pointer :pointer)) + (pipe-attributes (:pointer (:struct security-attributes))) + (size :uint32)) + +(cffi:defcfun ("CreateProcessW" create-process-w) :boolean + (application-name :pointer) + (command-line :pointer) + (process-attributes :pointer) + (thread-attributes :pointer) + (inherit-handles :boolean) + (creation-flags :uint32) + (environment :pointer) + (current-directory :pointer) + (startup-info (:pointer (:struct startup-info))) + (process-information (:pointer (:struct process-information)))) + +(cffi:defcfun ("DuplicateHandle" duplicate-handle) :boolean + (source-process :pointer) + (source-handle :pointer) + (target-process :pointer) + (target-handle (:pointer :pointer)) + (desired-access :uint32) + (inherit-handle :boolean) + (options :uint32)) + +(cffi:defcfun ("GetCurrentProcess" get-current-process) :pointer) + +(cffi:defcfun ("CloseHandle" close-handle) :boolean + (object :pointer)) + +(cffi:defcfun ("WriteFile" write-file) :boolean + (file :pointer) + (buffer :string) + (number-of-bytes-to-write :uint32) + (number-of-bytes-written (:pointer :uint32)) + (overlapped :pointer)) + +(cffi:defcfun ("ReadFile" read-file) :boolean + (file :pointer) + (buffer :pointer) + (number-of-bytes-to-read :uint32) + (number-of-bytes-read (:pointer :uint32)) + (overlapped :pointer)) + +(cffi:defcfun ("PeekNamedPipe" peek-named-pipe) :boolean + (pipe :pointer) + (buffer :pointer) + (buffer-size :uint32) + (bytes-read (:pointer :uint32)) + (total-bytes-avail (:pointer :uint32)) + (bytes-left-this-message (:pointer :uint32))) + +(cffi:defcfun ("GetExitCodeProcess" get-exit-code-process) :boolean + (process :pointer) + (exit-code (:pointer :uint32))) + +(cffi:defcfun ("TerminateProcess" terminate-process) :boolean + (process :pointer) + (exit-code :uint32)) + +;; Process class +(defclass process () + ((process-info :accessor process-process-info :initarg :process-info) + (input-handle :accessor process-input-handle :initarg :input-handle) + (output-handle :accessor process-output-handle :initarg :output-handle) + (nonblock :accessor process-nonblock :initarg :nonblock) + (encode :accessor process-encode :initarg :encode))) + +(defun create-process (command &key nonblock (encode cffi:*default-foreign-encoding*) directory) + "Create a new process with the given command" + (when (and directory (not (uiop:directory-exists-p directory))) + (error "Directory ~S does not exist" directory)) + + (let ((command-string (if (listp command) + (format nil "~{~A~^ ~}" command) + command))) + + (cffi:with-foreign-objects ((sa '(:struct security-attributes)) + (output-read-tmp :pointer) + (output-write :pointer) + (input-read :pointer) + (input-write-tmp :pointer) + (output-read :pointer) + (input-write :pointer) + (si '(:struct startup-info)) + (pi- '(:struct process-information))) + + ;; Initialize security attributes + (setf (cffi:foreign-slot-value sa '(:struct security-attributes) 'length) + (cffi:foreign-type-size '(:struct security-attributes))) + (setf (cffi:foreign-slot-value sa '(:struct security-attributes) 'security-descriptor) + (cffi:null-pointer)) + (setf (cffi:foreign-slot-value sa '(:struct security-attributes) 'inherit-handle) + t) + + ;; Create pipes + (unless (create-pipe output-read-tmp output-write sa 0) + (error "Failed to create output pipe")) + + (unless (create-pipe input-read input-write-tmp sa 0) + (error "Failed to create input pipe")) + + (let ((curr-process (get-current-process))) + ;; Duplicate handles + (unless (duplicate-handle curr-process + (cffi:mem-ref output-read-tmp :pointer) + curr-process + output-read + 0 nil +duplicate-same-access+) + (error "Failed to duplicate output read handle")) + + (unless (duplicate-handle curr-process + (cffi:mem-ref input-write-tmp :pointer) + curr-process + input-write + 0 nil +duplicate-same-access+) + (error "Failed to duplicate input write handle"))) + + ;; Close temporary handles + (close-handle (cffi:mem-ref output-read-tmp :pointer)) + (close-handle (cffi:mem-ref input-write-tmp :pointer)) + + ;; Initialize startup info + (cffi:foreign-funcall "memset" :pointer si :int 0 :uint32 + (cffi:foreign-type-size '(:struct startup-info)) :void) + (setf (cffi:foreign-slot-value si '(:struct startup-info) 'cb) + (cffi:foreign-type-size '(:struct startup-info))) + (setf (cffi:foreign-slot-value si '(:struct startup-info) 'flags) + (logior +startf-usestdhandles+ +startf-useshowwindow+)) + (setf (cffi:foreign-slot-value si '(:struct startup-info) 'show-window) + +sw-hide+) + (setf (cffi:foreign-slot-value si '(:struct startup-info) 'std-input) + (cffi:mem-ref input-read :pointer)) + (setf (cffi:foreign-slot-value si '(:struct startup-info) 'std-output) + (cffi:mem-ref output-write :pointer)) + (setf (cffi:foreign-slot-value si '(:struct startup-info) 'std-error) + (cffi:mem-ref output-write :pointer)) + + ;; Create process + (cffi:with-foreign-strings ((cmd-wide command-string :encoding :utf-16le) + (dir-wide (if directory (namestring directory) ""))) + (unless (create-process-w (cffi:null-pointer) + cmd-wide + (cffi:null-pointer) + (cffi:null-pointer) + t + +create-no-window+ + (cffi:null-pointer) + (if directory dir-wide (cffi:null-pointer)) + si + pi-) + (error "Failed to create process: ~A" command-string))) + + ;; Close handles we don't need + (close-handle (cffi:mem-ref output-write :pointer)) + (close-handle (cffi:mem-ref input-read :pointer)) + + ;; Create and return process object + (make-instance 'process + :process-info pi- + :input-handle (cffi:mem-ref input-write :pointer) + :output-handle (cffi:mem-ref output-read :pointer) + :nonblock nonblock + :encode encode)))) + +(defun delete-process (process) + "Terminate and clean up the process" + (let ((pi- (process-process-info process))) + (terminate-process (cffi:foreign-slot-value pi- '(:struct process-information) 'process) 2) + (close-handle (process-input-handle process)) + (close-handle (process-output-handle process)) + (close-handle (cffi:foreign-slot-value pi- '(:struct process-information) 'thread)) + (close-handle (cffi:foreign-slot-value pi- '(:struct process-information) 'process)))) + +(defun process-pid (process) + "Get the process ID" + (cffi:foreign-slot-value (process-process-info process) '(:struct process-information) 'process-id)) + +(defun process-send-input (process string) + "Send input to the process" + (cffi:with-foreign-object (bytes-written :uint32) + (let ((cffi:*default-foreign-encoding* (process-encode process))) + (write-file (process-input-handle process) + string + (length string) + bytes-written + (cffi:null-pointer))))) + +(defun process-receive-output (process) + "Receive output from the process" + (let ((buffer-size 4096)) + (cffi:with-foreign-objects ((buffer :char buffer-size) + (bytes-read :uint32) + (bytes-avail :uint32)) + + ;; Check if data is available (for non-blocking mode) + (when (process-nonblock process) + (unless (peek-named-pipe (process-output-handle process) + (cffi:null-pointer) 0 + (cffi:null-pointer) + bytes-avail + (cffi:null-pointer)) + (return-from process-receive-output nil)) + (when (zerop (cffi:mem-ref bytes-avail :uint32)) + (return-from process-receive-output nil))) + + ;; Read data + (when (read-file (process-output-handle process) + buffer + (1- buffer-size) + bytes-read + (cffi:null-pointer)) + (let ((num-bytes (cffi:mem-ref bytes-read :uint32))) + (when (> num-bytes 0) + (setf (cffi:mem-aref buffer :char num-bytes) 0) + (let ((cffi:*default-foreign-encoding* (process-encode process))) + (cffi:foreign-string-to-lisp buffer :count num-bytes)))))))) + +(defun process-alive-p (process) + "Check if the process is still running" + (cffi:with-foreign-object (exit-code :uint32) + (let ((pi- (process-process-info process))) + (when (get-exit-code-process (cffi:foreign-slot-value pi- '(:struct process-information) 'process) + exit-code) + (= (cffi:mem-ref exit-code :uint32) +still-active+))))) \ No newline at end of file diff --git a/static/x86/windows/libasyncprocess.dll b/static/x86/windows/libasyncprocess.dll deleted file mode 100644 index ad80b4c6f789062e2329e0c546624c8dcfbe6d09..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 91964 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ⅅDWTp-$GsvKISpQ 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