daurnimator / lredis

A redis client for lua
MIT License
42 stars 7 forks source link

Protect transactions from pipelined command injection. #9

Open Oozlum opened 3 years ago

Oozlum commented 3 years ago

Implement locking around transactions to prevent other coroutines from erroneously injecting commands into the transaction. multi() now returns a transaction object which must be used to issue commands in the transaction. External commands will block until the transaction is exec()'d or discard()'d.

coveralls commented 3 years ago

Coverage Status

Coverage increased (+4.2%) to 88.517% when pulling e1f3ce89fa583e6b9507d45fe64664cb2b256b76 on Oozlum:wait_pipelined_commands_while_transaction_pending into 677cb3ed27219b2cf7e08290926c1769d08ae3f2 on daurnimator:master.

coveralls commented 3 years ago

Coverage Status

Coverage increased (+4.4%) to 88.732% when pulling e1f3ce89fa583e6b9507d45fe64664cb2b256b76 on Oozlum:wait_pipelined_commands_while_transaction_pending into 677cb3ed27219b2cf7e08290926c1769d08ae3f2 on daurnimator:master.