1. A method comprising: allowing retry to work correctly with parallel nested transactions in a software transactional memory system, the allowing comprising: when a transaction that is a parallel nested transaction in the software transactional memory system or a child transaction of the parallel nested transaction executes a retry, registering a read set of the transaction for the retry and registering for waits on reads in the read set of the transaction; waiting for a notification that the read set has changed, the notification initiated from another transaction releasing a write lock, the notification sent to the transaction based on a waiters map; and when a decision is made to propagate the retry past a parallel nested transaction parent of the transaction, keeping the read set registered and making the read set part of a parent read set.