× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Hello David,

I wrote:
>> TS exists only
>> for the duration of a job/process thus a handle cannot be stored
>> externally to the process and reused in a different process.

You wrote:
>I beg to differ.  As I suggested in a previous post on this topic, a
>Teraspace Server process could be set up as a daemon.  From a design
>point of view, mutiple jobs can certainly share the same teraspace by
>referencing the same handle / cookie.

Beg? Grovelling will get you further!!  :)

I should have written 'pointer' instead of 'handle' in that sentence.  I
meant saved between processes thinking that the allocating process could
end before another process might use the allocated storage.  The point I
was trying to make is that TS is local to a process and cannot be shared
except via the shmget API.

It would certainly be possible to have a TS server as you describe but
then a number of jobs would be sharing a single TS which sort of defeats
the point of using them.  Such a server would certainly allow larger
storage allocations than the various HEAP strategies but you would
eventually run into space issues.

Since one process cannot directly address TS allocated in another process
(unless you use the shm* APIs to specifically allocate shared TS) you
cannot pass the addresses around.  Therefore you must pass a handle which
will require the TS server to manage updating the data in the storage
associated with the handle, therefore you must pass the data along with
the handle.  You will soon run into the 16MB limit which would negate any
benefit gained from a TS server.  If you concerned by the 16MB limit then
why would you bother with TS in the first place?

Also, a TS server such as you describe would add additional complexities
to the interaction.  I think it would be much easier to simply allocate
the needed TS storage using space pointers and live with the boundary
alignment restrictions, or write C language wrappers that convert space
pointers into TS pointers and pass those around instead, or hide that fact
that they are pointers and pass a handle or some sort.

Regards,
Simon Coulter.

--------------------------------------------------------------------
   FlyByNight Software         AS/400 Technical Specialists
   http://www.flybynight.com.au/

   Phone: +61 3 9419 0175   Mobile: +61 0411 091 400        /"\
   Fax:   +61 3 9419 0175   mailto: shc@flybynight.com.au   \ /
                                                             X
                 ASCII Ribbon campaign against HTML E-Mail  / \
--------------------------------------------------------------------



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.