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 • Aug 25, 2017 • 16 min read

The Strange strerror_r() of Dr POSIX and Mr GNU

There are several variants of the C function strerror_r() that differ in their return value and error handling. This blog post describes how to support all of them in a transactional interface, while still being compatible with either internal implementation. As such, strerror_r() serves as a case study for transactional interfaces with multiple or variable semantics.  Read →

Thomas Zimmermann • Aug 17, 2017 • 8 min read

File Descriptors During fork() and exec()

In the previous blog posts, we examined the relationship between files, file names, file descriptors, and open file descriptions. This time we look at what happens to file descriptors when we start a new program by calling fork() and exec().  Read →

Thomas Zimmermann • Aug 9, 2017 • Less than a minute read

picotm at FrOSCon 2017

I’m very excited to speak about picotm at this year’s FroSCon conference! The presentation is on August 19, 2pm. I’ll cover the use cases of picotm, some programming, and some internals. I look forward to see you there!  Read →

Thomas Zimmermann • Aug 4, 2017 • 6 min read

Unix Hard Links, Soft Links, and Files

This blog post describes the relation ship between file names and files on Unix file systems. We’ll also look at soft links and how all this interacts with file descriptors.  Read →

Thomas Zimmermann • Jul 28, 2017 • 10 min read

Data Structures of Unix File I/O

This blog post describes the basic data structures involved in file I/O on Unix and Linux. We’ll go through file descriptors, open file descriptions and file buffers, and see how they relate to each other.  Read →