diff options
author | 2023-07-16 21:15:24 -0700 | |
---|---|---|
committer | 2023-07-16 21:15:24 -0700 | |
commit | 209dc981c0ef52de5c80eab5d24ec8a8eba765e8 (patch) | |
tree | c3d203d03d109161bcaf25558c05fda49c5e864e /src/bun.js/bindings/ScriptExecutionContext.cpp | |
parent | 7fc392b182fa45d1fa33e654c2b4d1f1022a1ac3 (diff) | |
download | bun-209dc981c0ef52de5c80eab5d24ec8a8eba765e8.tar.gz bun-209dc981c0ef52de5c80eab5d24ec8a8eba765e8.tar.zst bun-209dc981c0ef52de5c80eab5d24ec8a8eba765e8.zip |
Implement Workers (#3645)
* copy files
* format
* options
* Introduce `Worker`, `onmessage`, `onerror`, and `postMessage` globals
* Stub `Worker.prototype.ref` & `Worker.prototype.unref`
* Update web_worker.zig
* Worker works
* Add "mini" mode
* add wakeup
* Partially fix the keep-alive issue
* clean up refer behavior
* Implement `serialize` & `deserialize` in `bun:jsc` & add polyfill for `node:v8`
* Types & docs
* Update globals.d.ts
* Add mutex
* Fixes
---------
Co-authored-by: Dylan Conway <dylan.conway567@gmail.com>
Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
Diffstat (limited to 'src/bun.js/bindings/ScriptExecutionContext.cpp')
-rw-r--r-- | src/bun.js/bindings/ScriptExecutionContext.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/bun.js/bindings/ScriptExecutionContext.cpp b/src/bun.js/bindings/ScriptExecutionContext.cpp index 0293ecc35..b7b7ef16d 100644 --- a/src/bun.js/bindings/ScriptExecutionContext.cpp +++ b/src/bun.js/bindings/ScriptExecutionContext.cpp @@ -110,6 +110,16 @@ us_socket_context_t* ScriptExecutionContext::connectedWebSocketKindClientSSL() return registerWebSocketClientContext<true>(this, webSocketContextSSL()); } +ScriptExecutionContextIdentifier ScriptExecutionContext::generateIdentifier() +{ + Locker locker { allScriptExecutionContextsMapLock }; + + // ASSERT(allScriptExecutionContextsMap().contains(m_identifier)); + // allScriptExecutionContextsMap().remove(m_identifier); + + return ++lastUniqueIdentifier; +} + void ScriptExecutionContext::regenerateIdentifier() { Locker locker { allScriptExecutionContextsMapLock }; |