transaction blog

transaction blog is the website and blog of Thomas Zimmermann. Topics are picotm, transactions, and low-level software development.
On the web: 

Thomas Zimmermann • Jul 21, 2017 • 15 min read

Implementing Fault-Tolerant Software With Transactions

This is a series of blog posts to build a transaction manager in C. Last time, we looked at fault tolerance, and how to build fail-safe transactional software. In this installment, we’re going to implement support for error detection and recovery in our transaction manager simpletm. As usual, the complete example code for this blog post is available on GitHub.  Read →

Thomas Zimmermann • Jul 14, 2017 • 9 min read

Building Fault-Tolerant Software With Transactions

This is a series of blog posts to build a transaction manager in C. Having implemented thread isolation, we will now look at error handling. Our goal is to automate error handling as much as possible and make building fault-tolerant software easy.  Read →

Thomas Zimmermann • Jul 7, 2017 • 8 min read

Types of Transactional Operations

This is a series of blog posts to build a transaction manager in C. In this installment, we’re going to take a closer look at the different types of functions that exist and what we have to do to handle them in a transaction. We’ve already implemented support for several interfaces from the C Standard Library in our transaction manager. We’re now going to sort and formalize this a bit.  Read →

Thomas Zimmermann • Jun 30, 2017 • 8 min read

Everything About errno; plus Transactions

This is a series of blog posts to build a transaction manager in C. In this entry, we’r going to take a look at errno and how it works behind the scenes. Afterwards we’re going to add support for errno to our transaction manager simpletm.  Read →

Thomas Zimmermann • Jun 23, 2017 • 10 min read

Transactional malloc() and free()

This is a series of blog posts to build a transaction manager in C. In this installment we’re going to implement support for malloc() and free(). With these functions we can allocate and free blocks of memory, and automatically garbage-collect allocated blocks if an error or conflict occures during the transaction.  Read →