vm_object_t object = CreateFileMapping (INVALID_HANDLE_VALUE, &sec_all_nih,
PAGE_READWRITE, 0, size, NULL);
if (!object)
- panic ("CreateFileMapping in _vm_pager_allocate failed, %E");
+ panic ("CreateFileMapping in _vm_pager_allocate failed, %lu", GetLastError ());
return object;
}
if (!DuplicateHandle (GetCurrentProcess (), object,
td->client->handle (), &dup_object,
0, TRUE, DUPLICATE_SAME_ACCESS))
- panic ("!DuplicateHandle in vm_object_duplicate failed, %E");
+ panic ("!DuplicateHandle in vm_object_duplicate failed, %lu", GetLastError ());
return dup_object;
}
unlockable by the lock owner. */
m->h = CreateSemaphore (NULL, 1, 1, NULL);
if (!m->h)
- panic ("couldn't allocate %s mutex, %E\n", name);
+ panic ("couldn't allocate %s mutex, %lu\n", name, GetLastError ());
}
void
_log (file, line, LOG_DEBUG, "Try locking mutex %s (%u) (hold: %u)",
m->name, winpid, m->owner);
if (WaitForSingleObject (m->h, INFINITE) != WAIT_OBJECT_0)
- _panic (file, line, "wait for %s in %d failed, %E", m->name, winpid);
+ _panic (file, line, "wait for %s in %d failed, %lu", m->name, winpid,
+ GetLastError ());
m->owner = winpid;
_log (file, line, LOG_DEBUG, "Locked mutex %s/%u (%u)",
m->name, ++m->cnt, winpid);
{
/* Check if the semaphore was already on it's max value. */
if (GetLastError () != ERROR_TOO_MANY_POSTS)
- _panic (file, line, "release of mutex %s failed, %E", m->name);
+ _panic (file, line, "release of mutex %s failed, %lu", m->name,
+ GetLastError ());
}
_log (file, line, LOG_DEBUG, "Unlocked mutex %s/%u (owner: %u)",
m->name, cnt, owner);
a[i].ident = ident;
a[i].wakeup_evt = CreateEvent (NULL, TRUE, FALSE, NULL);
if (!a[i].wakeup_evt)
- panic ("CreateEvent failed: %E");
+ panic ("CreateEvent failed: %lu", GetLastError ());
debug ("i = %d, CreateEvent: %x", i, a[i].wakeup_evt);
a[i].threads = 1;
++cnt;
msleep_glob_evt = CreateEvent (NULL, TRUE, FALSE, NULL);
if (!msleep_glob_evt)
- panic ("CreateEvent in msleep_init failed: %E");
+ panic ("CreateEvent in msleep_init failed: %lu", GetLastError ());
long msgmni = support_msgqueues ? msginfo.msgmni : 0;
long semmni = support_semaphores ? seminfo.semmni : 0;
TUNABLE_INT_FETCH ("kern.ipc.msgmni", &msgmni);
treat an ERROR_INVALID_HANDLE as a normal process termination and
hope for the best. */
if (GetLastError () != ERROR_INVALID_HANDLE)
- panic ("wait in msleep (%s) failed, %E", wmesg);
- debug ("wait in msleep (%s) failed for %d, %E", wmesg,
- td->td_proc->winpid);
+ panic ("wait in msleep (%s) failed, %lu", wmesg, GetLastError ());
+ debug ("wait in msleep (%s) failed for %d, %lu", wmesg,
+ td->td_proc->winpid, GetLastError ());
ret = EIDRM;
break;
}