orange-guo opened a new pull request, #614:
URL: https://github.com/apache/guacamole-server/pull/614

   This commit introduces a new thread-local storage implementation to replace 
pthread_key usage in guacamole-server, addressing scalability limitations where 
systems are typically limited to 1024 pthread keys per process.
   
   Key changes:
   - Add guacamole/thread-local.h: New thread-local storage API compatible with 
pthread_key
   - Add thread-local.c: Hash-table based implementation supporting 
configurable key limits
   - Update error.c: Replace pthread_key with direct __thread storage for 
optimal performance
   - Update rwlock.c: Migrate from pthread_key to guac_thread_local for 
process-sharing compatibility
   - Add comprehensive test suite: Basic, multithreaded, stress, and 
compatibility tests
   
   Benefits:
   - Removes hard 1024 connection limit imposed by pthread_key restrictions
   - Improves error handling performance with direct __thread access
   - Maintains full API compatibility with existing pthread_key usage
   - Supports unlimited keys (configurable, default 1024) via hash-table 
implementation
   - Preserves process-shared semantics for rwlock functionality


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@guacamole.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to