CompuServe Messages

Math in processes

    05-Mar-95 00:09:11
Fm: Werner Kazmierzak 100041,1320
To: Shraddhan 70374,754
Shraddan, although it is officially illegal to pass library pointers among different tasks, it may work, because library code is actually called as a subroutine of the task. But think twice! If the library code does a Wait() (Most dos and stdio routines do this), or uses Semaphores, the task which opened the library may be signalled instead, causing a lockup of the child task, or worse. This will occur if the library will do a FindTask() and performing other initializing for each task it was opened from, caching the results in a list for later use, and releasing it when the task closes the library. I don't think the IEEE libraries will do something like this, so they will most likely cause no harm when called through a 'borrowed' library base pointer. I rather believe your child process jumping to the I/O-routines of your main process will cause errors, because the mp_SigTask field of every MsgPort will most likely be set inproperely, causing the wrong task to be signalled on a Wait(). – wkc – … via AP from Hamburg, Germany