diff options
| author | Eric Holk <eholk@mozilla.com> | 2011-06-28 11:34:20 -0700 |
|---|---|---|
| committer | Graydon Hoare <graydon@mozilla.com> | 2011-06-28 16:12:33 -0700 |
| commit | 02f6645fca946fd7cb9f55036c05a908f0567ceb (patch) | |
| tree | 88d71ff1fd10f3f8312f2c8a1041d7eeaf0251e4 /src/rt/rust_kernel.cpp | |
| parent | 2f84987a48c3625670cd62321f0e3dcb5c0e8768 (diff) | |
| download | rust-02f6645fca946fd7cb9f55036c05a908f0567ceb.tar.gz rust-02f6645fca946fd7cb9f55036c05a908f0567ceb.zip | |
Moved win32_require to the kernel.
Diffstat (limited to 'src/rt/rust_kernel.cpp')
| -rw-r--r-- | src/rt/rust_kernel.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/rt/rust_kernel.cpp b/src/rt/rust_kernel.cpp index 5e495b8c822..ee709fb191f 100644 --- a/src/rt/rust_kernel.cpp +++ b/src/rt/rust_kernel.cpp @@ -245,6 +245,25 @@ int rust_kernel::start_task_threads(int num_threads) return dom->rval; } +#ifdef __WIN32__ +void +rust_kernel::win32_require(LPCTSTR fn, BOOL ok) { + if (!ok) { + LPTSTR buf; + DWORD err = GetLastError(); + FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | + FORMAT_MESSAGE_FROM_SYSTEM | + FORMAT_MESSAGE_IGNORE_INSERTS, + NULL, err, + MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), + (LPTSTR) &buf, 0, NULL ); + DLOG_ERR(dom, dom, "%s failed with error %ld: %s", fn, err, buf); + LocalFree((HLOCAL)buf); + I(dom, ok); + } +} +#endif + rust_task_thread::rust_task_thread(int id, rust_kernel *owner) : id(id), owner(owner) { |
