1. 24 Jul, 2014 9 commits
  2. 23 Jul, 2014 10 commits
  3. 22 Jul, 2014 6 commits
  4. 21 Jul, 2014 6 commits
  5. 20 Jul, 2014 1 commit
  6. 19 Jul, 2014 2 commits
  7. 18 Jul, 2014 2 commits
  8. 17 Jul, 2014 4 commits
    • Victor Stinner's avatar
      Issue #21247: Fix a race condition in test_send_signal() of asyncio · 98fa332e
      Victor Stinner authored
      Add a basic synchronization mechanism to wait until the child process is ready
      before sending it a signal.
      98fa332e
    • Victor Stinner's avatar
      Python issue #21645, Tulip issue 192: Rewrite signal handling · fe5649c7
      Victor Stinner authored
      Since Python 3.3, the C signal handler writes the signal number into the wakeup
      file descriptor and then schedules the Python call using Py_AddPendingCall().
      
      asyncio uses the wakeup file descriptor to wake up the event loop, and relies
      on Py_AddPendingCall() to schedule the final callback with call_soon().
      
      If the C signal handler is called in a thread different than the thread of the
      event loop, the loop is awaken but Py_AddPendingCall() was not called yet. In
      this case, the event loop has nothing to do and go to sleep again.
      Py_AddPendingCall() is called while the event loop is sleeping again and so the
      final callback is not scheduled immediatly.
      
      This patch changes how asyncio handles signals. Instead of relying on
      Py_AddPendingCall() and the wakeup file descriptor, asyncio now only relies on
      the wakeup file descriptor. asyncio reads signal numbers from the wakeup file
      descriptor to call its signal handler.
      fe5649c7
    • Victor Stinner's avatar
      asyncio: Fix test_stdin_broken_pipe(), drain() can also raise · ddc8c8db
      Victor Stinner authored
      ConnectionResetError
      ddc8c8db
    • Victor Stinner's avatar
      asyncio, tulip issue 190: Process.communicate() now ignores · d55b54d5
      Victor Stinner authored
      ConnectionResetError too
      d55b54d5