Section 2.6 seems pretty clear on interaction with fork(): > Do not open an SQLite database connection, then fork(), then try to use that database connection in the child process. Perhaps code under -DSQLITE_ENABLE_API_ARMOR could use pthread_atfork() to mark as invalid the database connections in child processes.