@@ -316,11 +316,12 @@ stream FrameRSTStream header bs ctx _ strm = do
316316 closed ctx strm cc
317317 return $ Closed cc -- will be written to streamState again
318318
319−stream FramePriority header bs Context{outputQ} s Stream{streamNumber} = do
319+stream FramePriority header bs Context{outputQ} s Stream{streamNumber,streamPriority} = do
320320 PriorityFrame p <- guardIt $ decodePriorityFrame header bs
321321 checkPriority p streamNumber
322− -- fixme: the case where priority is changed.
323− prepare outputQ streamNumber p
322+ -- checkme: this should be tested
323+ writeIORef streamPriority p
324+ when (isIdle s) $ prepare outputQ streamNumber p
324325 return s
325326
326327-- this ordering is important