Linux supports different execution domains, or personalities, for each process. Among other things, execution domains tell Linux how to map signal numbers into signal actions. The execution domain system allows Linux to provide limited support for binaries compiled under other Unix-like operating systems.
This function will return the current personality when persona equals 0xffffffff. Otherwise, it will make the execution domain referenced by persona the new execution domain of the current process.
On success, the previous persona is returned. On error, -1 is returned, and errno is set appropriately.