Boost logo

Boost :

From: Mac Murrett (mmurrett_at_[hidden])
Date: 2001-10-23 13:04:59


In the Mac OS pre-X version of Boost.Threads, I would like to export
functions called something like dt_remote_call, st_remote_call. These
functions would be have a prototype much like ::boost::bind. What they
would do is bundle up a function pointer with arguments, then put the
calling task to sleep until the function could be invoked (at deferred task
time or system task time, respectively).

These functions will be used extensively in the implementation of the Mac OS
version of Boost.Threads, and will make MP tasks much more usable to Boost
"user" developers. Without them, it is quite a hassle to do anything. For
example, on Mac OS 8.6, even file I/O is not MP-safe. However, it is simple
enough to instead use dt_remote_call(PBReadAsync, &sPB) or
st_remote_call(PBReadSync, &sPB). These are certainly not useful to a
developer on any other platform, but they are at the same time crucial to a
Mac OS developer.

My question is, what namespace do these functions belong in? Bill Kempf
indicated that a "user" developer should not call into ::boost::detail. I
suggested ::boost::mac, but this sets a potentially evil and easily abused
precedent that can undermine the platform independence that makes Boost so
useful.

Thanks,
Mac.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk