I am currently involved in porting portions of an existing software onto linux. The current software involves multiple processes interacting with each other through udp based messages and also share memory in terms of buffers. I would like to know if it is possible for me to change this structure to a thread based approach which will still allow me to keep the functionality but make my tasks easier since I do not want to use fork.

The basic design involves a main function which invokes other processes and before it does that it does all the shared memory allocation. However the main is forked and then handler functions are called in the children processes. I want to simplify this by using threads. Is it feasible ??