Folks, I'm currently porting a UDF 2.x file system to MacOS X, and I've run into a bit of a problem. It seems that the original writers of the file system library didn't pay a whole lot of attention to stack usage, and I occasionally run the I/O kit out of stack space. Unfortunately, I don't have the leisure to rewrite the library, and I don't think I'd ever find all of the places where stack usage is too high anyway. I'm thinking that the simplest method for dealing with this would be to 'bottleneck' my file system's I/O by creating a separate thread for the I/O, hand the I/O off to that other thread, and block the calling thread until the I/O thread completes. My biggest question is, what thread APIs should I be using. Keeping in mind that I'd like this file system to eventually port to other flavors of BSD Unix, I don't think I should use IOKit threads, and I'm not sure about Mach threads either - Would Posix threads be appropriate? Also, it occurs to me that what I'm trying to do here doesn't really need the overhead of threads - an API similar to Windoze's _Call_On_My_Stack kernel function would work just as well. Does anything like that exist in Darwin? Thanks for your time, Ron Aldrich Software Architects, Inc. _______________________________________________ darwin-kernel mailing list | darwin-kernel@lists.apple.com Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/darwin-kernel Do not post admin requests to the list. They will be ignored.