Signal Handlers - malloc malloc uses incredibly complicated data structures internally to keep track of the allocations. without locking. singal while main program is deep in malloc(): half-recorded allocation, signal handler malloc()s too, return to main program malloc internally now has a half wrong recording of the allocation it is about to give out