author | wenzelm |
Wed, 08 Mar 2023 22:22:35 +0100 | |
changeset 77591 | 3f3dcf9f53f1 |
parent 73587 | d1767bcb79ec |
permissions | -rw-r--r-- |
(* Title: Pure/ML/ml_pid.ML Author: Makarius Native PID for ML process. *) signature ML_PID = sig val get: unit -> int end; structure ML_Pid: ML_PID = struct \<^if_windows>\<open> val get = Foreign.buildCall0 (Foreign.getSymbol (Foreign.loadLibrary "kernel32.dll") "GetCurrentProcessId", (), Foreign.cInt); \<close> \<^if_unix>\<open> val get = Posix.ProcEnv.getpid #> Posix.Process.pidToWord #> SysWord.toLargeInt; \<close> end;