mirror of
https://github.com/containers/podman.git
synced 2026-01-26 06:51:44 -05:00
Also, do a general cleanup of all the timeout code. Changes include: - Convert from int to *uint where possible. Timeouts cannot be negative, hence the uint change; and a timeout of 0 is valid, so we need a new way to detect that the user set a timeout (hence, pointer). - Change name in the database to avoid conflicts between new data type and old one. This will cause timeouts set with 4.2.0 to be lost, but considering nobody is using the feature at present (and the lack of validation means we could have invalid, negative timeouts in the DB) this feels safe. - Ensure volume plugin timeouts can only be used with volumes created using a plugin. Timeouts on the local driver are nonsensical. - Remove the existing test, as it did not use a volume plugin. Write a new test that does. The actual plumbing of the containers.conf timeout in is one line in volume_api.go; the remainder are the above-described cleanups. Signed-off-by: Matthew Heon <mheon@redhat.com>
54 lines
2.5 KiB
Go
54 lines
2.5 KiB
Go
package winapi
|
|
|
|
import "golang.org/x/sys/windows"
|
|
|
|
const SystemProcessInformation = 5
|
|
|
|
const STATUS_INFO_LENGTH_MISMATCH = 0xC0000004
|
|
|
|
// __kernel_entry NTSTATUS NtQuerySystemInformation(
|
|
// SYSTEM_INFORMATION_CLASS SystemInformationClass,
|
|
// PVOID SystemInformation,
|
|
// ULONG SystemInformationLength,
|
|
// PULONG ReturnLength
|
|
// );
|
|
//
|
|
//sys NtQuerySystemInformation(systemInfoClass int, systemInformation unsafe.Pointer, systemInfoLength uint32, returnLength *uint32) (status uint32) = ntdll.NtQuerySystemInformation
|
|
|
|
type SYSTEM_PROCESS_INFORMATION struct {
|
|
NextEntryOffset uint32 // ULONG
|
|
NumberOfThreads uint32 // ULONG
|
|
WorkingSetPrivateSize int64 // LARGE_INTEGER
|
|
HardFaultCount uint32 // ULONG
|
|
NumberOfThreadsHighWatermark uint32 // ULONG
|
|
CycleTime uint64 // ULONGLONG
|
|
CreateTime int64 // LARGE_INTEGER
|
|
UserTime int64 // LARGE_INTEGER
|
|
KernelTime int64 // LARGE_INTEGER
|
|
ImageName UnicodeString // UNICODE_STRING
|
|
BasePriority int32 // KPRIORITY
|
|
UniqueProcessID windows.Handle // HANDLE
|
|
InheritedFromUniqueProcessID windows.Handle // HANDLE
|
|
HandleCount uint32 // ULONG
|
|
SessionID uint32 // ULONG
|
|
UniqueProcessKey *uint32 // ULONG_PTR
|
|
PeakVirtualSize uintptr // SIZE_T
|
|
VirtualSize uintptr // SIZE_T
|
|
PageFaultCount uint32 // ULONG
|
|
PeakWorkingSetSize uintptr // SIZE_T
|
|
WorkingSetSize uintptr // SIZE_T
|
|
QuotaPeakPagedPoolUsage uintptr // SIZE_T
|
|
QuotaPagedPoolUsage uintptr // SIZE_T
|
|
QuotaPeakNonPagedPoolUsage uintptr // SIZE_T
|
|
QuotaNonPagedPoolUsage uintptr // SIZE_T
|
|
PagefileUsage uintptr // SIZE_T
|
|
PeakPagefileUsage uintptr // SIZE_T
|
|
PrivatePageCount uintptr // SIZE_T
|
|
ReadOperationCount int64 // LARGE_INTEGER
|
|
WriteOperationCount int64 // LARGE_INTEGER
|
|
OtherOperationCount int64 // LARGE_INTEGER
|
|
ReadTransferCount int64 // LARGE_INTEGER
|
|
WriteTransferCount int64 // LARGE_INTEGER
|
|
OtherTransferCount int64 // LARGE_INTEGER
|
|
}
|