-
Notifications
You must be signed in to change notification settings - Fork 320
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
can lsquic support multi-thread? #167
Comments
That's true. This has been reported in #128. |
Do you plan to support multi-thread ? It seems not just one problems in multi-thread。 |
Well, we obviously do not use this in a multi-threaded environment, so we did not pay close attention to it. If it's not too much work, we can fix some trouble spots. Also, "multi-thread support" means different things to different people. To me, it means being able to use two instances of lsquic engine in two different threads without them stepping on each other's toes. Besides the compressed certs, what other problems have you encountered? |
@jazune, I made a few fixes -- I believe the library is now thread-safe. Could you please give it a shot? The changes are on the |
|
Our preference would be to avoid thread-related code in the library if we can avoid it. Hopefully, just getting rid of global variables (as I've done on this branch) will do the trick. |
Fixed -- closing. |
- [FEATURE] Extensible HTTP Priorities (HTTP/3 only). - [FEATURE] Add conn context to packet-out memory interface (PR #175). - [BUGFIX] gQUIC proof generation: allocate buffer big enough for signature (issue #173). - [BUGFIX] Make library thread-safe: drop use of global variables (issue #133, issue #167). - [BUGFIX] Deactivate only *recent* HQ frame, not any HQ frame. - [BUGFIX] gQUIC server: associate compressed cert with SSL_CTX, instead of keeping them in a separate hash, potentially leading to mismatches. - [BUGFIX] Stream data discard infinite loop: break on FIN. - cmake: add install target via -DCMAKE_INSTALL_PREFIX (PR #171). - Support randomized packet number to begin a connection. - Mini and full IETF connection size optimization. - http_client: specify HTTP priorities based on stream conditions.
@dtikhonov when will this branch merge to master? |
It's on master -- the fix is in release 2.20.0. |
Why are some variables in lsquic uninitialized? You take them all as initial zero. Won't there be any problems here? Of course,it has nothing to do with this subject. |
Give me an example. |
eg:
s_server_config.lsc_scfg was uninitialized |
That's old code now: use latest master. |
It seems that lsquic_hash is not thread safe. I got a crash in insert_compress_certs with more than one threads
The text was updated successfully, but these errors were encountered: