I'm afraid that's right. A fork makes a complete, independent copy of the memory state of the parent. Your singleton has become a doubleton and there is no connection between the copies. You'll have to share memory, use threads, or do interprocess communication (such as sockets).