public ProcessMonitor(int processId, ProcessMonitorFlags monitorKind = ProcessMonitorFlags.Exit, DispatchQueue queue = null) { if (type_proc == IntPtr.Zero) { type_proc = Dlfcn.dlsym(Libraries.System.Handle, "_dispatch_source_type_proc"); } this.queue = queue; handle = dispatch_source_create(type_proc, handle: (IntPtr)processId, mask: (IntPtr)monitorKind, queue: queue == null ? IntPtr.Zero : queue.Handle); }
public ProcessMonitor(int processId, ProcessMonitorFlags monitorKind = ProcessMonitorFlags.Exit, DispatchQueue queue = null) { if (type_proc == IntPtr.Zero) type_proc = Dlfcn.dlsym (Libraries.System.Handle, "_dispatch_source_type_proc"); this.queue = queue; handle = dispatch_source_create (type_proc, handle: (IntPtr) processId, mask: (IntPtr) monitorKind, queue: queue == null ? IntPtr.Zero : queue.Handle); }