author | wenzelm |
Fri, 16 Apr 2021 23:35:20 +0200 | |
changeset 73587 | d1767bcb79ec |
parent 72114 | d00220799735 |
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;