site_archiver@lists.apple.com Delivered-To: darwin-dev@lists.apple.com User-agent: Mozilla Thunderbird 1.0 (Macintosh/20041206) Thanks, Isaac _______________________________________________ Do not post admin requests to the list. They will be ignored. Darwin-dev mailing list (Darwin-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/darwin-dev/site_archiver%40lists.appl... Hi, I am trying essentially to write a user level thread system. Basically I need to have multiple sets of global variables that are accessible at different portions of a single program's execution. Essentially two or more threads will use the same set of global variable names, but they will expect to see their own unique values for the global variables while their own thread is executing. This is the best way to describe my project that I can think of, even though I am not really doing an explicity user level thread system. Hopefully this description will suffice. I know that I can access the __common or __data sections from the DATA segment with getsectdata() and then do a memcpy to swap in and out the different sets of global variable data. However, these sections may be quite large, and will frequently be swapped around. Thus I am hoping there is a way to have the multiple sets of data(or entire segments) in virtual memory, and change some simple table or register to point to the segment/section that is currently needed. This can be done on IA32 systems, but I need it to work on the G5(and hopefully also G4) macs with OSX/darwin. Please let me know if this is possible, as I really want to avoid these mem copies. This email sent to site_archiver@lists.apple.com