- 
                Notifications
    You must be signed in to change notification settings 
- Fork 1
53 optimize descriptor registration in event loop #60
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
          
     Merged
      
      
            EdmondDantes
  merged 52 commits into
  main
from
53-optimize-descriptor-registration-in-event-loop
  
      
      
   
  Sep 22, 2025 
      
    
  
     Merged
                    Changes from all commits
      Commits
    
    
            Show all changes
          
          
            52 commits
          
        
        Select commit
          Hold shift + click to select a range
      
      e057b3a
              
                #53:  Refactor HTTP server to event-driven architecture with stream_s…
              
              
                EdmondDantes 88eb2e4
              
                #53: * fixes to STREAM test behavior
              
              
                EdmondDantes 02d83c9
              
                #53: + Add new tests for stream_select()
              
              
                EdmondDantes 35e4956
              
                #53: + 024-stream_select_remote_disconnect.phpt
              
              
                EdmondDantes d15692f
              
                #53: + tcp_client_disconnect.php
              
              
                EdmondDantes 92a5c75
              
                #53: Refactor async networking to use unified event handling
              
              
                EdmondDantes a8175fd
              
                #53: Fix SSL client-server test certificate and handshake issues
              
              
                EdmondDantes 94a0e32
              
                #53: * some fixes for test 026
              
              
                EdmondDantes 1f1c5d1
              
                #53: Refactor SSL tests to use shared certificate files
              
              
                EdmondDantes 742955d
              
                #53: * fix test 016-tcp_stream_socket_accept_timeout.phpt
              
              
                EdmondDantes f64196f
              
                #53: * fix SSL tests 025, 026 and 027
              
              
                EdmondDantes ad1468e
              
                #53: % Fix infinite loop in HTTP server by removing stream_select
              
              
                EdmondDantes 91bc0bd
              
                #53: % change status: OK
              
              
                EdmondDantes 2d97043
              
                #53: % change status: OK
              
              
                EdmondDantes 90597ba
              
                #53: % Optimize network_async_accept_incoming: try accept() first bef…
              
              
                EdmondDantes 695366b
              
                #53: Fix socket closure order in both regular and SSL socket implemen…
              
              
                EdmondDantes eb54e6d
              
                #53:  Add zend_async_poll_proxy_t for FD resource optimization
              
              
                EdmondDantes d0a31b9
              
                #53:  Fix poll proxy event aggregation and lifecycle management
              
              
                EdmondDantes 1e1c331
              
                #53: * Handling the special case with the UV_EBADF code
              
              
                EdmondDantes e698c3b
              
                #53:  Optimize poll proxy event handling and callback parameters
              
              
                EdmondDantes 79849e6
              
                #53: Add zend_async_poll_proxy_t for FD resource optimization
              
              
                EdmondDantes d545ff8
              
                Merge branch '53-optimize-descriptor-registration-in-event-loop' into…
              
              
                EdmondDantes f950281
              
                #53: Optimize libuv reactor with automatic waker event cleanup
              
              
                EdmondDantes 67ed06c
              
                #53: * fix stop_waker_events_for_new_coroutines
              
              
                EdmondDantes 08002d0
              
                #53: * fix stop_waker_events_for_new_coroutines
              
              
                EdmondDantes 0a5a50d
              
                #53: * remove LIBUV_CLEAR_WAKER_EVENTS_AFTER_EXECUTE
              
              
                EdmondDantes 6ff73b5
              
                #53: * Optimize scheduler_next_tick to reduce LIBUV calls
              
              
                EdmondDantes 1037b9f
              
                #53: * Optimize scheduler_next_tick to reduce LIBUV calls2
              
              
                EdmondDantes e497ebe
              
                #53:  Implement waker events cleanup for resumed coroutines
              
              
                EdmondDantes 0c4c4e6
              
                 #53: Fix waker events cleanup for buffer reallocation cases
              
              
                EdmondDantes f3c4348
              
                 #53: Fix 010-stream_select_async and issue with poll event => proxy_…
              
              
                EdmondDantes b8832ec
              
                 #53: Add to scheduler.c logic Waker clean after EventLoop tick
              
              
                EdmondDantes 793e9a0
              
                 #53: + Add UDP tests for Socket Stream
              
              
                EdmondDantes 0365a46
              
                 #53: fix 028-udp_basic_operations.phpt
              
              
                EdmondDantes ca77379
              
                 #53: fix 029-udp_concurrent_operations.phpt
              
              
                EdmondDantes 840d4f1
              
                 #53: fix 029-udp_concurrent_operations.phpt
              
              
                EdmondDantes 508f111
              
                 #53: fix sock_async_poll
              
              
                EdmondDantes e34d7d1
              
                 #53: Optimize async socket timeout tests for faster execution
              
              
                EdmondDantes c397718
              
                 #53: Looking at the completed optimization work, here's a commit des…
              
              
                EdmondDantes fc5db30
              
                 #53: * fix deadlock tests and fix zend_async_event_callback_new
              
              
                EdmondDantes b4e3886
              
                 #53: Add separate queue for resumed coroutines to improve event clea…
              
              
                EdmondDantes c365221
              
                 #53: * fix await iterator logic
              
              
                EdmondDantes 47b218c
              
                 #53: + Update CHANGELOG.md
              
              
                EdmondDantes 362e937
              
                #53: * fix memory leak by resumed_coroutines logic
              
              
                EdmondDantes e499a4d
              
                Merge remote-tracking branch 'origin/53-optimize-descriptor-registrat…
              
              
                EdmondDantes d4da78c
              
                #53: * fix memory leak by resumed_coroutines logic
              
              
                EdmondDantes 20027c7
              
                #53: + add logger for http server
              
              
                EdmondDantes 36114a1
              
                #53: + Apply code format
              
              
                EdmondDantes 0e2f9d9
              
                 #53:  Fix deprecated OPcache configuration in CI workflows
              
              
                EdmondDantes 88230f3
              
                #53: * change 005-socket_accept_multiple.phpt
              
              
                EdmondDantes 09bc2b8
              
                #53: * change 005-socket_accept_multiple.phpt
              
              
                EdmondDantes f3e3646
              
                 #53: * Upgrade LibUV to version 1.45 due to a timer bug that causes …
              
              
                EdmondDantes File filter
Filter by extension
Conversations
          Failed to load comments.   
        
        
          
      Loading
        
  Jump to
        
          Jump to file
        
      
      
          Failed to load files.   
        
        
          
      Loading
        
  Diff view
Diff view
There are no files selected for viewing
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
              
      
      Oops, something went wrong.
        
    
  
      
      Oops, something went wrong.
        
    
  
  Add this suggestion to a batch that can be applied as a single commit.
  This suggestion is invalid because no changes were made to the code.
  Suggestions cannot be applied while the pull request is closed.
  Suggestions cannot be applied while viewing a subset of changes.
  Only one suggestion per line can be applied in a batch.
  Add this suggestion to a batch that can be applied as a single commit.
  Applying suggestions on deleted lines is not supported.
  You must change the existing code in this line in order to create a valid suggestion.
  Outdated suggestions cannot be applied.
  This suggestion has been applied or marked resolved.
  Suggestions cannot be applied from pending reviews.
  Suggestions cannot be applied on multi-line comments.
  Suggestions cannot be applied while the pull request is queued to merge.
  Suggestion cannot be applied right now. Please check back later.
  
    
  
    
Uh oh!
There was an error while loading. Please reload this page.