Duncan Coutts pushed to branch wip/io-manager-deadlock-detection at Glasgow Haskell Compiler / GHC

Commits:

1 changed file:

Changes:

  • rts/PrimOps.cmm
    ... ... @@ -2351,7 +2351,8 @@ stg_asyncReadzh ( W_ fd, W_ is_sock, W_ len, W_ buf )
    2351 2351
         ASSERT(StgTSO_why_blocked(CurrentTSO) == NotBlocked::I32);
    
    2352 2352
         %release StgTSO_why_blocked(CurrentTSO) = BlockedOnRead::I32;
    
    2353 2353
     
    
    2354
    -    ccall appendToIOBlockedQueue(MyCapability() "ptr", CurrentTSO "ptr");
    
    2354
    +    ccall appendToIOBlockedQueue(Capability_iomgr(MyCapability()) "ptr",
    
    2355
    +                                 CurrentTSO "ptr");
    
    2355 2356
         jump stg_block_async();
    
    2356 2357
     #endif
    
    2357 2358
     }
    
    ... ... @@ -2377,7 +2378,8 @@ stg_asyncWritezh ( W_ fd, W_ is_sock, W_ len, W_ buf )
    2377 2378
         ASSERT(StgTSO_why_blocked(CurrentTSO) == NotBlocked::I32);
    
    2378 2379
         %release StgTSO_why_blocked(CurrentTSO) = BlockedOnWrite::I32;
    
    2379 2380
     
    
    2380
    -    ccall appendToIOBlockedQueue(MyCapability() "ptr", CurrentTSO "ptr");
    
    2381
    +    ccall appendToIOBlockedQueue(Capability_iomgr(MyCapability()) "ptr",
    
    2382
    +                                 CurrentTSO "ptr");
    
    2381 2383
         jump stg_block_async();
    
    2382 2384
     #endif
    
    2383 2385
     }
    
    ... ... @@ -2403,7 +2405,8 @@ stg_asyncDoProczh ( W_ proc, W_ param )
    2403 2405
         ASSERT(StgTSO_why_blocked(CurrentTSO) == NotBlocked::I32);
    
    2404 2406
         %release StgTSO_why_blocked(CurrentTSO) = BlockedOnDoProc::I32;
    
    2405 2407
     
    
    2406
    -    ccall appendToIOBlockedQueue(MyCapability() "ptr", CurrentTSO "ptr");
    
    2408
    +    ccall appendToIOBlockedQueue(Capability_iomgr(MyCapability()) "ptr",
    
    2409
    +                                 CurrentTSO "ptr");
    
    2407 2410
         jump stg_block_async();
    
    2408 2411
     #endif
    
    2409 2412
     }